Я пытаюсь реализовать относительно простую концепцию, но, похоже, сначала EF-код не имеет простого способа сделать это.В основном у меня есть адресный класс, который также имеет свойство графства.Я сопоставляю с существующими таблицами.В некоторых случаях в таблице есть поле для графства, а в других - нет.Поэтому я просто пытаюсь игнорировать округ, где он не применяется.
Свободный API позволяет сопоставлять свойство сложного типа:
.Property(Function(c) c.HomeAddress.County).HasColumnName("COUNTY")
Это здорово.Но, очевидно, это не позволяет вам игнорировать это:
.Ignore(Function(c) c.HomeAddress.County)
Выдает ошибку:
Выражение 'p => p.Address.County' не является допустимым выражением свойства.Выражение должно представлять свойство: C #: 't => t.MyProperty' VB.Net: 'Function (t) t.MyProperty'.
Это действительно должно быть разрешено в Fluent API и должно быть простымкак в приведенном выше утверждении.
Итак, по условию Code сначала считает, что это свойство, и вы получите ошибку:
"Неверное имя столбца 'Address_County'.
Это действительноотстой! Так что я в основном застрял с этим свойством. Как мне его игнорировать? Есть идеи?
Я не хочу удалять это свойство и не могу добавить его в таблицу. Я пыталсядобавление аннотации, и код работает, но тогда я не могу отобразить его в тех случаях, когда он мне нужен.
Я надеюсь, что есть простое решение или, по крайней мере, адекватное решение.