У меня есть Member
сущность со сложным типом, называемым Address
, со сложным типом, называемым UsState
, который имеет следующие свойства: Id
, Name
и Iso
.
Мне нужно сопоставить адрес участника UsState
с его столбцом таблицы БД. Проблема в том, что таблица members
содержит только столбец State (VARCHAR)
, поэтому для правильного отображения я сделал следующее:
modelBuilder.Entity<Member>().Property(p => p.BillingAddress.State.Name).HasColumnName("State");
modelBuilder.Entity<Member>().Ignore(p => p.BillingAddress.State.Id);
modelBuilder.Entity<Member>().Ignore(p => p.BillingAddress.State.Iso);
Но похоже, что Ignore
принимает только лямбда-символы базового свойства, поэтому я получил это:
The expression 'p => p.BillingAddress.State.IsoCode' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'.
Как я могу решить эту проблему? (желательно с использованием Ignore
метода)