Entity Framework 4.1 Code Первая проблема TPC - PullRequest
0 голосов
/ 08 апреля 2011

Ради простоты позвольте мне упростить систему, над которой я работаю.В домене класс A наследуется от класса B, а B - от C.

A : B
{
  a1, a2 //class members
}

B : C
{
  b1
}

C
{
  c1
}

Конфигурация для A выглядит следующим образом:

class CConfig : EntityTypeConfiguration<A>
{
  public DocumentConfiguration()
  {
     Map(x => x.MapInheritedProperties()).ToTable("DOCUMENT");
  }
}

Теперь, при выполнении кода выдается эта ошибка:

Свойство 'b1' не является объявленным свойством типа 'A'.Убедитесь, что свойство не было явно исключено из модели с помощью метода Ignore или аннотации данных NotMappedAttribute.Убедитесь, что это допустимое примитивное свойство.

Почему я получаю эту ошибку?

На http://social.msdn.microsoft.com/Forums/sv-SE/adodotnetentityframework/thread/f89d1df5-3b1f-413d-a077-d354abf4cca6 написано "... вы не можете использовать промежуточные звенья",Это правда?Если это так, то очень плохо, что EF вынуждает мой домен быть в определенном дизайне.Для меня это так же плохо, как поставить атрибуты, связанные с данными, поверх классов доменов.Или я что-то упустил?

1 Ответ

0 голосов
/ 20 июня 2011

Я тоже получил эту ошибку.Это не идеальный ответ, но это то, что сработало для меня ...

Тип моего свойства, вызвавшего ошибку, был десятичным.Я преобразовал это в int во всем проекте, построил решение и затем преобразовал его обратно в десятичное число, и ошибка исчезла.

Не уверен, почему это исправило проблему, но у меня это сработало.

...