EF4 POCO дублированные имена таблиц - PullRequest
1 голос
/ 27 января 2012

В настоящее время я пытаюсь перенести проект в POCO EF4, чтобы избавиться от EntityObject в моей бизнес-логике и столкнулся с проблемой с дублирующимися именами таблиц.DAL имеет доступ к 3 различным базам данных, и есть 3 файла .edmx, по одному для каждой базы данных.

Однако некоторые таблицы в этих базах данных имеют одинаковые имена, например, DB1.CUSTOMER и DB2.CUSTOMER.Мне удалось создать связанные сущности в разных пространствах имен (по одному пространству имен для каждой базы данных), таких как MyApp.Db1.CUSTOMER и MyApp.Db2.CUSTOMER, проблема в том, что EF не может решить, какой из них выбрать, и утверждает, что была неоднозначность, котораяна самом деле это не так.

Есть ли способ сопоставления сущностей с их соответствующими POCO вручную или какой-то обходной путь?Это EF 4.2.

1 Ответ

2 голосов
/ 27 января 2012

EF не использует пространство имен при распознавании типа объекта.Имя класса сопоставляется непосредственно с именем объекта на диаграмме модели (EDMX).Поэтому обходной путь - использовать разные имена в разных моделях, что также сделает ваш код более читабельным.

...