我目前正在尝试将项目迁移到EF4 POCO,以便在我的业务逻辑中摆脱EntityObject,并遇到重复表名的问题。 DAL可以访问3个不同的数据库,并且有3个.edmx文件,每个数据库一个。
但是,这些数据库中的某些表共享相同的名称,例如DB1.CUSTOMER和DB2.CUSTOMER。我设法在不同的命名空间(每个数据库有一个命名空间)创建相关实体,如MyApp.Db1.CUSTOMER和MyApp.Db2.CUSTOMER,麻烦是EF无法决定挑选哪一个并声称存在歧义事实并非如此。
有没有办法将实体手动映射到各自的POCO或任何类型的解决方法?这是EF 4.2。
答案 0 :(得分:2)
EF在识别实体类型时不使用命名空间。类的名称与模型图(EDMX)中的实体名称直接匹配。因此,解决方法是在不同的模型中使用不同的名称,这也将使您的代码更易于阅读。