2016-06-15 22 views
2

我有两个我需要访问的数据库(也许将来会更多)。 对于第一个,我创建了一个ADO.NET实体数据模型,然后使用EF DBContext生成器。一切都很完美。多个DBContext

对于第二个数据库,我也是这样做的。没有错误。 但是在两个数据库中我都有一个表Clients,我的问题是从第二个数据库生成的Clients模型覆盖了第一个模型的Clients模型,并且我在MVC项目中遇到错误。

我该如何解决这个问题?


编辑: 我已经为TEO面包车果德完成建议(以先建立模型的文件夹不是在根文件夹),似乎乍一看工作,但是当我运行的应用程序,我得到这个:

指定的模式无效。错误:CLR类型到EDM 类型的映射不明确,因为多个CLR类型与EDM类型 '客户'匹配。以前发现CLR类型 'test.dbWCF.Clients',新发现的CLR类型 'test.dbSBD.Clients'。


由于@Gert阿诺德指出,确实我 “固定” 这个肮脏的解决办法:

解决办法:在两个相同的类中的一个更改属性。

EF匹配类名称和类属性。所以我只更改了其中一个EF对象的 属性名称,并且错误消失了。

回答

2

使用namespaces

基本上在你的项目中创建2个文件夹前。 DbContext1DbContext2。然后生成您的模型在不同的文件夹,然后VS不同的命名空间会自动创建他们,你可以给他们打电话想:

DbContext1.Clients 

DbContext2.Clients 

注意,命名空间可能是不同的,这一切都取决于你的项目结构。

+0

似乎工作,然后我得到了这个:Schema指定是无效的。错误: CLR类型到EDM类型的映射不明确,因为多个CLR类型与EDM类型的“客户端”匹配。以前发现CLR类型'test.Models.WCF.Clients',新发现CLR类型'test.Models.SBD.Clients'。 –

+0

@RaresP你仍然有一些命名空间的问题,但我需要更多的信息来了解如何提供帮助。最好再写一个关于所有细节的问题 –

相关问题