一个POCO模型,具有不同的数据提供者

Dol*_*ita 5 c# asp.net poco entity-framework-4

我有一个客户端应用程序(WPF,C#,.net4),它使用通过SQLITE提供程序连接的POCO实体模型.因此,我希望在asp.net项目(使用MSSQL提供程序)中使用此项目中的相同实体,以便在我的客户端应用程序中使用相同的实体.我想在我的客户端应用程序(SQLITE)和Web服务器(MSSQL)之间使用相同的poco模型使用Web服务创建某种复制功能.

所以我在两个项目中都引用了我的实体模型,并为edmx文件提供了不同的连接字符串.在这种情况下(因为edmx是为sqlite提供程序编译的)当我尝试使用mssql数据提供程序时,我得到一个异常:

无法将System.Data.SqlConnection强制转换为System.Data.SQliteConnection

所以我的问题是,是否可以在一个实体模型中使用不同的数据提供者?在不同项目中使用相同模型的最佳方法是什么?

Per*_* P. 1

如果我正确理解您的问题,那么如果您正在寻找支持多个数据库实现的 EF 模型,那么这是不可能开箱即用的。由 EF 自动生成的 SSDL 文件将包含提供程序特定的元数据,因此将限制其与您正在使用的不同数据库实现的独立性。

有一些文章提供了解决此问题的方法,但这需要为每个提供程序提供单独的模型副本,并使用提供程序详细信息破解生成的 XML。