Я создал базу данных (SQLite) с таблицами по стратегии TPC, поэтому от нее произошли один абстрактный класс и несколько других. В моем приложении я хотел бы получить все элементы с каким-либо полем, реализованным в абстрактном классе (например, Name). Проблема в том, что каждый производный класс имеет свое собственное поле DbSet в моем классе, производном от DbContext, и я пока не знаю, как просмотреть все элементы, не прибегая к какой-то специальной коллекции или не объединяя их в один IEnumerable.
Entity:
Код: Выделить всё
public abstract class Animal
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Cat : Animal
{
public string EducationLevel { get; set; }
}
public class Dog : Animal
{
public string FavoriteToy { get; set; }
}
Контекст:
Код: Выделить всё
public class MainDbContext : DbContext
{
public DbSet Cats { get; set; }
public DbSet Dogs { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity().UseTpcMappingStrategy();
}
}
Как сгенерировать всех животных Animal, где Name может быть, например, «Боб»?
Подробнее здесь:
https://stackoverflow.com/questions/783 ... te-type-co