Как использовать 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