2010-12-19 149 views
5

我在VS 2010解决方案中有两个项目:Data和DataForm。在我的Data项目中,我有同一个数据模型的Code first和Database first版本(例如DataPoco和DataDb)。这些类在它们内部具有相同的确切实体名称,等等......这两个版本分别位于它们自己的名称空间中:DataDb在Data中,DataPoco在Data.Poco中。实体框架代码优先和数据库优先Bug /冲突

在我的DataForm项目中,我有以下代码:

DataPoco context = new DataPoco(); //Data.Poco.DataPoco 
foreach(var u in context.Urls)  //Data.Poco.Url 
{ 
    //do stuff with u. 
} 

我得到时context.Urls枚举(并加载由于懒加载)以下错误:

找不到'Data.Url'的概念模型类型。

为什么我会得到一个错误有关的实体在其他版本(例如,我怎样才能得到关于Data.Url一个错误,当我列举Data.Poco.Url)?首先有没有关于代码的东西,它使得它在另一个命名空间中获取数据库第一个实体类,但在同一个项目中?这是Code First中的错误还是我的错?

回答

3

实体框架不使用名称空间作为名称的一部分 - 实体名称本身必须是唯一的。

+0

哇 - 头脑风暴!那么,在你的答案后,我搜索了一些,因为我有一个更好的主意寻找什么,并发现这个其他问题 - http://stackoverflow.com/questions/3521497/how-does-ms-entity-framework-map从概念模型到clr类型。谢谢你的帮助! – Chad 2010-12-27 17:24:03

相关问题