EF Core Fluent API, чтобы получить свойства наследованияC#

Место общения программистов C#
Ответить
Anonymous
 EF Core Fluent API, чтобы получить свойства наследования

Сообщение Anonymous »

Как использовать EF Core Fluent API, чтобы получить свойства наследования?class BaseClass
{
public string Name { get; set; }
}

class Child1 : BaseClass
{
public string Foo { get; set; }
}

class Child2 : BaseClass
{
public string Bar { get; set; }
}

class DBContext
{
...
public List BaseClasses { get; set; }
...

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity(entity =>
{
entity.HasDiscriminator("Discriminator")
.HasValue(nameof(Child1))
.HasValue(nameof(Child2))
.IsComplete(false);

entity.Property("Discriminator")
.IsUnicode(false)
.HasMaxLength(60);

});
}
}
< /code>
Но следующий запрос: < /p>
_dBContext.BaseClasses
.Where(x => x is Child2 && EF.Property(x, "Bar") == "ABC")
.ToList();
< /code>
Проводит следующую ошибку: < /p>

Перевод 'ef.property (structuraltypeshaperexpression: baseclases

valuebufferexpression: protectionbindingexpression: yetphyprocemememember

islullable:'). Либо источник запроса не является типом объекта, либо указанное свойство не существует в типе объекта.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... properties
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»