У меня есть куча объектов DTO, которые все наследуют от класса DtoBase с некоторыми свойствами, такими как Id, CreatedDate и Disabled.Entity Framework Code First - объекты все наследуют базовый класс, как исключить записи с отключенным свойством
public class MyAppContext : ApplicationDbContext
{
public DbSet<A> As { get; set; }
public DbSet<B> Bs { get; set; }
}
public class A : Base
{
public bool LikesMilk { get; set; }
}
public class B : Base
{
public string Name { get; set; }
}
public class Base
{
public int Id { get; set; }
public bool Disabled { get; set; }
}
Когда приходит время запрашивая DB, есть метод расширения или что-то я мог бы написать, чтобы исключить все отключенные записи всех запросов для всех объектов?
//both should exclude disabled records
db.As.FirstOrDefault(x => x.LikesMilk)
db.Bs.ToList()
Типичный метод должен был бы построить представление в SQL, который возвращает только включенные строки, то есть EF ссылку до просмотра. – jleach
Вам нужны первичные ключи, вы бы просто положили один на базовый класс? – prospector
Ввод первичного ключа в базовый класс добавляет его ко всем наследующим классам. – user1455010