Entity Framework Code First和Database First的错误/冲突问题

5

我在VS 2010的解决方案中有两个项目:Data和DataForm。在我的Data项目中,我有相同数据模型的Code First和Database First版本(例如DataPoco和DataDb)。这些类在它们内部都有完全相同的实体名称等... 这两个版本分别位于它们自己的命名空间中:DataDb位于Data中,而DataPoco位于Data.Poco中。

在我的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.Poco.Url时,如何会出现有关Data.Url的错误)?是Code First中的某些内容使其在同一项目中的另一个命名空间中拾取Database First实体类吗?这是Code First的错误还是我的错误?
1个回答

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

哇,我的脑袋炸了!好的,在你的回答之后,我更清楚该搜索什么,并找到了这个问题和答案 - http://stackoverflow.com/questions/3521497/how-does-ms-entity-framework-map-from-the-conceptual-model-to-clr-types 。感谢你的帮助! - Chad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接