设置
问题
目前我定义了两个EDMX,一个用于服务器,另一个用于客户端,即使它们是相同的,除了存储提供商。我使用服务器中的自我跟踪实体,它们可以与客户端数据库一起使用。有没有办法只有一个EDMX?目前存在风险我将改变一个EDMX并忘记将其转移到另一个EDMX。或者我使用了错误的方法?
注意
由于需要在服务器端应用的复杂业务逻辑,我不想使用同步框架。
答案 0 :(得分:1)
不幸的是,没有直接的方法可以将单个EDMX用于多个存储提供商。您必须始终为每个提供商提供单独的SSDL部分。常见的解决方法是export SSDL, MSL and CSDL as separate files(默认设置将它们添加为汇编的资源)并使用一些脚本或预构建操作来创建SSDL文件的副本,其中包含对第二个提供程序的所有必要更改(也可能有不同的数据类型)在SQL Server和SQL Server CE之间)。您将通过在连接字符串中指定它来为每个应用程序使用正确的SSDL文件。
另一个"更好"解决方案不使用EDMX并首先使用代码,而这个问题大多不存在 - 但这就是体系结构的变化。