У меня есть только два кода POCO, использующих EF4 и последний CTP, работающий против существующей устаревшей базы данных. Выполнение запроса LINQ к PocoA работало до тех пор, пока я не добавил свойство ниже к этому объекту, я пытался добавить отношения.Entity Framework 4 Ошибка только для кода «Множественные наборы объектов для каждого типа не поддерживаются»
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")]
Я действительно в растерянности, что нужно изменить, чтобы сделать эту работу.
Можете ли вы предоставить свои классы «PocoA» и «PocoB». Кроме того, любые связанные классы сопоставления. – Charlino
Обнаружена проблема. Это была опечатка. Мой класс DbSet для PocoB был объявлен как 'DbSet'. –
Вы должны отправить свое решение в качестве ответа и принять его ... Это ответит на этот вопрос без ответа :) – forsvarir