实体框架代码优先和数据库优先错误/冲突

时间:2010-12-19 21:22:26

标签: c# entity-framework exception code-first ef-code-first

我在VS 2010解决方案中有两个项目:Data和DataForm。在我的Data项目中,我同时拥有Code代码和同一数据模型的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'的概念模型类型。

为什么我在 OTHER 版本中收到有关实体的错误(例如,当我枚举Data.Poco.Url时,如何在收到有关Data.Url的错误时)?是否有一些代码首先使它在另一个命名空间中获取数据库第一个实体类但在同一个项目中?这是Code First中的错误还是我的错?

1 个答案:

答案 0 :(得分:3)

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