У меня есть два POCO «Только код», использующие EF4 и последний CTP, работающие с существующей устаревшей базой данных. Выполнение запроса LINQ для PocoA работало до тех пор, пока я не добавил свойство, указанное ниже, к этому объекту. Я пытался добавить отношение.
public virtual PocoB pocoB { get; set; }
После этого я начал получать следующую ошибку:
Несколько наборов объектов на тип не являются поддерживается. Наборы объектов 'PocoA_DbSet' и 'PocoB_DbSet' могут оба содержать экземпляры типа 'PocoA'.
Поэтому я подумал, что моя проблема заключалась в том, что я не определил отношения, и эта устаревшая база данных использовала 'fk / pk' префикс вместо суффикса «Id» на первичном и внешнем ключах. Поэтому я добавил следующую аннотацию данных к виртуальному методу, указанному выше, без изменений в поведении:
[RelatedTo(Property="PocoB", ForeignKey="fkPocoB")]
Я действительно в растерянности из-за того, что нужно изменить, чтобы эта работа работала.