2009-02-18 13 views
5

He estado implementando una solución EF con respaldo de SQLServer 2005 para la aplicación comercial en la que estoy trabajando, y ha funcionado bien.capa de almacenamiento local para Entity Framework?

Tengo un problema porque quiero permitir que el usuario trabaje sin una base de datos mientras se usan las mismas entidades.

No quiero ir a bases de datos locales por razones de portabilidad. Además, es fácil enviar una pequeña base de datos por correo electrónico si solo se trata de un archivo XML.

Por lo tanto, sé que un DataSet podría ser almacenado y cargado desde un archivo XML, esquema y todo. ¿Hay alguna forma de usar uno (o dos o tres) archivos XML como la capa de almacenamiento de EF?

Dado que Entity Framework se basa en ADO.Net, esperaba que existiera un tipo de proveedor de datos XML. Entonces, el Modelo de entidad se puede hacer para ejecutar un archivo XML. Me encontré con el diseñador de DataSet, que me permitió crear el esquema y guardarlo y cargarlo desde un archivo XML, pero no se inserta en EF, ya que EF usa Object Services en lugar de DataSet (corríjame si estoy equivocado. es here at MSDN).

Encontré el WilsonXmlDbClient library, que se supone que es un DataProvider XML para ADO.Net. Parece viejo, y realmente no sé por dónde empezar.

Sé que XML no es la primera opción de nadie para almacenar datos relacionales, sin embargo, estoy buscando trabajar con archivos de 1Mb o menos.

TIA

+0

Así que sé que esto no responde a su pregunta de la forma en que desea que se responda, pero SQL Express es gratuito. . . ¿por qué no proporcionar su base de datos como un script * .SQL que construye y carga la base de datos? Completamente funcional, incluido el esquema, los procedimientos almacenados, los datos y cualquier otra cosa que necesite/desee. . . sin costo, solo una instalación gratuita de un reconocido fabricante de confianza. – Frank

Respuesta

2

Una forma de hacer esto sería usar marco de sincronización de Microsoft de. http://msdn.microsoft.com/en-us/sync/default.

Luego, utilizará SQL Server express o Compact Edition en el cliente.

El marco de sincronización y las ediciones SQL Server Express y Compact son gratuitas.

+0

+1 SQL CE + Sync framework es probablemente la forma más fácil de hacerlo. No necesita instalación: es solo un conjunto de dlls desplegados con la aplicación y se ejecuta en el proceso de la aplicación. Si no te gusta la idea de SQL CE, tendrás que crear tu propia herramienta de sincronización y proveedor de datos: mucho trabajo por hacer. –