我们正面临EF(使用6.2)的特定情况。
我们有一个框架库,该库使用一些公共实体(与框架相关的表,如用户,角色,访问权限等),而DAL使用所有数据库表/视图(包括框架的视图)。因此我们在框架项目中拥有EDMX,其中包含表的子集,而DAL则具有另一个具有完整数据库引用的EDMX。
现在,在构建框架库的机器中,这可以正常工作。当我们将框架dll和其他项目代码复制到另一台开发机时,我们遇到了CLR映射问题,即某些实体(不是全部)的映射问题。
我们尝试过重新创建DAL的EDMX,并无效地重设了引用。 两台机器的配置和其他库似乎相同。
不幸的是,我们无法手动更改EDMX文件,因为多个开发人员通过频繁的EDMX更新来保持项目的工作。因此,每次更新都不是最好的选择。
答案 0 :(得分:0)
只是弄清楚了非工作机器中的连接字符串(框架和DAL)都指向单个模型,所以引起了问题。
<add name="CoreDBEntities" connectionString="metadata=res://*/Models.CoreDBModel.csdl|res://*/Models.CoreDBModel.ssdl|res://*/Models.CoreDBModel.msl;
<add name="AppDBEntities" connectionString="metadata=res://*/Models.CoreDBModel.csdl|res://*/Models.CoreDBModel.ssdl|res://*/Models.CoreDBModel.msl;