У меня есть два POCO с кодом только с использованием EF4 и последнего CTP, работающего против существующей устаревшей базы данных. Запуск запроса LINQ в PocoA работал до тех пор, пока я не добавил свойство ниже к этому объекту, я пытался добавить отношения.
public virtual PocoB pocoB { get; set; }
Как только я это сделал, я начал получать следующую ошибку:
Multiple object sets per type are not supported. The object sets 'PocoA_DbSet' and 'PocoB_DbSet' can both contain instances of type 'PocoA'.
Итак, я подумал, что моя проблема в том, что я не определял отношения, и эта устаревшая база данных использовала префикс "fk/pk" вместо суффикса "Id" на основном и внешнем ключах. Поэтому я добавил следующие аннотации данных к виртуальному методу, указанному выше, без изменений в поведении:
[RelatedTo(Property="PocoB", ForeignKey="fkPocoB")]
Я действительно в недоумении за то, что нужно изменить, чтобы сделать эту работу.