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

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