我有两个需要访问的数据库(将来可能更多)。对于第一个模型,我创建了一个ADO.NET实体数据模型,然后从它创建了EF DBContext生成器。一切都很完美。
对于第二个数据库,我也是这样做的。没有错误。但是,在这两个数据库中,我都有一个表Clients,问题是从第二个数据库生成的Clients模型覆盖了来自第一个数据库的Clients模型,并且在MVC项目中出现了错误。
我该如何处理这个问题?
编辑:我已经按照teo van kot的建议做了(最初在模型中创建的文件夹比在根文件夹中创建的文件夹),乍一看似乎可以工作,但是当我运行这个应用程序时,我得到了如下信息:
指定的架构无效。错误: CLR类型到EDM类型的映射是模棱两可的,因为多个CLR类型匹配EDM类型的“客户端”。以前发现CLR类型为'test.dbWCF.Clients',新发现的CLR类型为'test.dbSBD.Clients‘。
正如@Gert所指出的,实际上,I“修正”了这个肮脏的解决方法:
解决办法:更改两个相同类之一的属性。 EF与类名和类属性匹配。因此,我只是在其中一个EF对象上更改了一个属性名,错误就消失了。
发布于 2016-06-15 13:11:22
使用namespaces。
基本上在您的项目创建2个文件夹前。DbContext1和DbContext2.然后在单独的文件夹中生成模型,VS在单独的命名空间中自动创建模型,这样您就可以调用它们如下:
DbContext1.Clients和
DbContext2.Clients注意,名称空间可能是不同的,这都取决于您的项目结构。
https://stackoverflow.com/questions/37836405
复制相似问题