2011-07-20 13 views
5

Estoy construyendo un sistema de publicación tipo blog en ASP.NET 4.0 (con EF 4.0) que quiero que sea muy fácil de instalar/backupable en el primer lugar. Estoy en un punto de decisión sobre si hacer que el sistema cree una base de datos en un SQL Server y usar eso (tradicionalmente), o tener un archivo MDF App_Data en el sitio y simplemente adjuntarlo a ese con SQL Express. I saber las limitaciones de memoria/tamaño de las ediciones Express, y no voy a estar llegando a los límites ya que esto es no una aplicación comercial de rendimiento crítico o cualquier cosa seria. Solo un CMS simple con blogs/escrituras/fotos (las fotos reales NO se guardan en la base de datos, solo sus rutas se guardan en MDF) y eso es todo. No veo ningún problema con el uso de MDF, pero tampoco soy un experto en el tema, ya que nunca he trabajado/creado un sitio web con el archivo MDF. Siempre implementé en SQL Server, pero no quiero tratar con usuarios/roles/permisos y lo último que quiero es que un usuario tenga problemas de instalación debido a la configuración de la base de datos.¿Debo ir adjuntando un archivo MDF a SQL Express o un script de implementación real a SQL Server?

¿A qué debo ir? ¿Algún problema que enfrentaría con MDF? Recomendaciones?

Respuesta

2

SI utiliza SQL Server Express - que es un servidor - yo siempre optaría por un enfoque de base de datos "reales": adjuntar la base de datos al servidor, acceder a ella por su nombre en la base de datos, implementar secuencias de comandos SQL para actualizarla.

Ese "adjuntar DB de ruta del archivo" siempre parecía como un kludge a medio cocer y bastante sucio a mí .....

Si usted no necesita ese tipo de poder - investigar SQL Server Compact Edition que es una solo archivo, base de datos en proceso. Tiene sus limitaciones, no hay procedimientos almacenados, no es compatible con ciertos tipos de datos como VARCHAR(MAX) o XML, pero para escenarios más fáciles, es perfecto y fácil de usar, simplemente impleméntelo a lo largo de su aplicación. Es un usuario único, p. no comparte los datos entre varios clientes, es una tienda local para cada usuario/aplicación en sí misma

+0

En primer lugar, Compact Edition no es adecuado ... Parece un poco horrible, y no lo creo jugará bien con EF. Entiendo la forma en que se siente con Express Edition y la parte "adjuntar DB", pero simplemente hace que mi aplicación sea más portátil, por ejemplo, mientras mueve el sistema, uno simplemente copia todos los archivos y eso es todo. Sin configuración externa o copia de seguridad ni nada. Eso es lo que realmente quiero (al igual que los archivos ASP.NET web.config, están en el directorio del sitio web y tienen todas las configuraciones del sitio web). Tengo curiosidad acerca de algunas circunstancias imprevistas de usar el método Express/attach, si hay alguno. –

+0

@can poyrazoglu: bueno, preguntaste opiniones - esto es mío. Por cierto: SQL Server Compact 4.0 definitivamente no es malo, nunca explicas por qué es "inadecuado", y funciona muy bien con EF 4.0 –

+0

Respeto (y considero) tu opinión de que no era algo así como ofensivo o cualquier cosa (aunque puede sonar de esa manera, estoy de acuerdo). Casi en todas partes en la red leo que Express está tomando el lugar de CE, no uso CE y continúe con Express. Es por eso que dije eso. También tiene un formato diferente y no todo es compatible, y aunque no necesite las operaciones no iniciadas en este momento, las necesitaré en el futuro y será más difícil cambiar todo entonces. En resumen: quiero usar SQL Server o SQL Server Express, pero no CE, debido a las razones que he indicado. –

Cuestiones relacionadas