Как получить коллекцию абстрактного класса-таблицы, используя конфигурацию «Таблица для каждого конкретного типа»?C#

Место общения программистов C#
Anonymous
Как получить коллекцию абстрактного класса-таблицы, используя конфигурацию «Таблица для каждого конкретного типа»?

Сообщение Anonymous »

Я создал базу данных (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

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