studio - ¿Qué base de datos recomendaría usar con la aplicación C#(.NET)?
local database visual studio 2017 (12)
¿Qué hay de usar db4o? Es un OODB que puedes incluir en tu aplicación. También es compatible con la replicación . Editar: Como nota al margen - En mi proyecto de mascota actual usando db4o tengo una línea (C # 3.5):
IList<Users> list = Persistence.Database.Query<Users>(u => u.Name == "Admin");
Usando una expresión lambda tipada fuerte para obtener una lista (floja) de objetos de la base de datos. También usa índices para recuperar la lista rápidamente.
Estoy desarrollando un pequeño plan de proyecto y llegué a un punto en el que necesito decidir qué sistema de databse local usar.
Los datos de entrada se almacenarán en el servidor web (hosting - MySQL DB). La idea es crear un proceso para descargar todos los datos necesarios (por ejemplo, a medianoche) y procesarlos. Sin embargo, habrá muchas entradas y etapas de procesamiento, entonces necesito usar algún tipo de base de datos local para almacenar el semi-producto de la aplicación
¿Qué sistema de base de datos local recomendaría para trabajar con la aplicación C # (.NET)?
editar: El producto final (información) debería exportarse fácilmente a Hosting MySQL DB.
Como Will mencionó en su respuesta, sí, estoy a favor de una actuación Y comodidad de uso.
Dado que esto ya está respondido. Debo mencionar que, al trabajar con lenguajes CLR, CLR / .NET Framework Integration establece MS SQL Server 2005/2008 aparte del resto. Siguiente fragmento de aquí .
Al usar lenguajes como Visual Basic .NET y C #, puede aprovechar la integración de CLR para escribir código que tenga una lógica más compleja y que sea más adecuado para tareas de computación. Además, Visual Basic .NET y C # ofrecen capacidades orientadas a objetos tales como encapsulación, herencia y polimorfismo. Puede organizar fácilmente el código relacionado en clases y espacios de nombres, lo que significa que puede organizar y mantener más fácilmente sus inversiones de código cuando trabaja con grandes cantidades de código. La capacidad de organizar el código de forma lógica y física en ensamblados y espacios de nombres es una gran ventaja que le permite encontrar y relacionar mejor los diferentes códigos en una implementación de base de datos grande.
El soporte de MS SQL Server viene de la caja sin necesidad de ningún otro controlador o configuración. Además, MS SQL Server Express es gratuito.
Puede generar scripts que exportarán los datos a / desde MySQL.
Escoge todo lo que esté disponible, pero codifica solo las interfaces, de esa manera puedes cambiar fácilmente entre ellas.
Para la producción, diría MS SQL para grandes proyectos (o expreso para nivel medio) simplemente por la estrecha integración con VS y Sqlite para proyectos más pequeños.
Dada la descripción, creo que Sqlite sería una buena opción, ya que es la más simple / más baja sobrecarga.
He estado haciendo algunas pruebas en los últimos tiempos y aunque también recomendaría SQL Server 2005 (Express si es necesario) porque funciona de la caja a pesar de que SQL Server 2008 es nuevo y RTM ahora.
La opción "obvia" sería MS SQL Server Express. VS y .net ambos lo soportan de forma nativa y si ya tiene experiencia con él (para el DB principal), ciertamente estaría tentado de seguir con él (o su versión expresa).
Pero ciertamente no es el final de sus opciones. Uso SQLite mucho para aplicaciones multiplataforma y aplicaciones web. Es increíblemente rápido y se integra bastante bien a través de System.Data.SQLite , aunque no tan estrechamente como MS SQL Server.
También hay una edición compacta de SQL Server que se compara bastante bien con SQLite.
No sé de una buena base de datos en proceso que sea totalmente sintaxis y tipo compatible con MySQL. Con eso en mente, tienes tres opciones:
- Elija algo como SQLlite, Access o SQL Server Compact. El problema es que terminará escribiendo una lógica de conversión compleja con cualquiera de ellos y tendrá que escribir todas sus consultas dos veces.
- Instalar MySQL localmente Luego tiene que aguantar tener un servidor de base de datos completo ejecutándose en su sistema local. Definitivamente desea evitar esto por cualquier cosa que envíe a un cliente, pero para su propio uso, podría estar bien. Afortunadamente, MySQL no usa tantos recursos como otros servidores modernos de bases de datos, pero esto aún no es ideal.
- Cambie a la edición SQL Server Express en el servidor y use SQL Server Compact en el cliente. Es tan barato como MySQL (tal vez incluso más barato, ya que se supone que compra MySQL para cualquier uso comercial). Teniendo en cuenta que está utilizando C # en el extremo del cliente, es posible que desee utilizarlo con ASP.Net en el lado del servidor también. Y si está utilizando el lado del servidor ASP.Net, entonces no es difícil encontrar un host que ofrezca SQL Server Express. Ahora sus bases de datos son compatibles con el tipo y cualquier consulta que escriba para su cliente también funcionará para su servidor.
IMO, una de las grandes fortalezas de la pila de bases de datos de MS (sin acceso) es que tienen una solución compatible para lo que sea que esté haciendo desde el escritorio hasta los clústeres de múltiples centros de datos. Si la escala de su aplicación cambia o si necesita enviar datos entre dos clases diferentes de aplicaciones, su capa de base de datos se cuidará.
Por lo que describiste, definitivamente MS SQL Server. Buen desempeño, buenas herramientas. Gratis.
Por rápido y sucio, iría con Sql Server Compact Edition. Es una implementación en proceso del servidor Sql, por lo que no requiere la instalación de ninguna otra aplicación.
De vuelta en el día, usarías una base de datos de Access para este tipo de cosas. Pero las bases de datos de Access suenan un poco.
No llevaría mucho cargar sus datos terminados al servidor de producción. Si está buscando una solución que automatice ese proceso, probablemente deba considerar alojar una instancia de MySql localmente y usar los servicios de replicación que brinde.
Quiero decir Microsoft Sql 2005 Express, ya que (casi) viene como la elección obvia cuando se desarrolla en .NET.
Pero todo depende de las habilidades de db anteriores que tengas. Si ya conoce MySql y como ya dijo, los datos deberían exportarse nuevamente a MySql. ¿Por qué no usar MySql todo el camino?
SQL Server como la mayoría ha mencionado ... Mi razón sería porque puede usar el control de fuente para integrar los casos de prueba de C # a la base de datos ....
Team foundation (TFS) es uno de Microsoft con GUI ...
Yo digo que vaya con Sql Server Compact Edition. Es muy similar a la versión completa de SQL Server, y VS2008 ha incorporado soporte para el diseño de tablas, consultas, etc. (Management Studio 2008 también tiene soporte para ello). El mayor inconveniente es que se pierde en los procedimientos almacenados, pero la ventaja es excelente, ya que no es necesario instalar nada en la máquina de los usuarios locales, y funciona muy rápido para seleccionar datos. Aún más genial, es que con SQL Metal, puede crear un archivo DBML y usar LINQ tal como lo haría con el servidor Sql.