【发布时间】:2010-11-01 13:13:41
【问题描述】:
我的应用程序使用两个不同的 SQL 2008 数据库。数据库有几个同名的表,即。 Users。我想对这两个数据库都使用 EF4。但是,当我运行我的应用程序并遇到第二个数据库的 objectcontext 创建时,我收到以下错误:
存在多个名为“用户”的类型 在不同的 EdmItemCollection 中 命名空间。基于约定的映射 需要唯一的名称而不考虑 到 EdmItemCollection 中的命名空间到 EdmItemCollection 中的命名空间
这是否意味着我不能在同一个应用程序中使用具有(部分)相同表名的两个数据库?它们位于不同的命名空间、不同的 edmx 模型、不同的项目等中。
附:其中一个模型是设计者生成的,使用 POCO 类,另一个是从数据库中推断出来的,并且与 EF 紧密耦合。
【问题讨论】:
-
在 Designer 中更改其中一个的实体名称会解决这个问题吗?不过,这似乎有点不方便。
-
我希望有一个不同的解决方案。这是一个数据库转换应用程序(从旧数据库到新数据库),因此有很多相同的表名。除了以错误的类型名称结束之外,在设计器中重命名它们意味着在新应用程序中进行一些严重的重构。
-
我有相同的问题,但实体名称不同...
标签: c# .net sql-server entity-framework