Entity Framework Code First и база данных First Bug / Conflict - PullRequest
5 голосов
/ 20 декабря 2010

У меня есть два проекта в решении VS 2010: Data и DataForm. В моем проекте Data у меня есть и Code first, и Database first version той же модели данных (например, 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.Url при перечислении Data.Poco.Url)? Есть ли что-то в коде сначала, что заставляет его брать классы первых сущностей базы данных в другом пространстве имен, но в том же проекте? Это ошибка в Code First или моя ошибка?

1 Ответ

3 голосов
/ 27 декабря 2010

Entity Framework не использует пространство имен как часть имени - сами имена объектов должны быть уникальными.

...