У меня есть 2 Poco объектов:Добавить условие в списке геттер собственность
public abstract class BasePoco
{
public int Id { get; set; }
public bool IsDeleted { get; set; }
}
public class FirstPoco : BasePoco
{
public virtual List<SecondPoco> SecondPocos { get; set; }
}
public class SecondPoco : BasePoco
{
}
Когда я запрашиваю объект firstPoco из моего репозитория реализации, где Id == 10:
var first = Repository.Get<FirstPoco>(10);
У меня есть пользовательская логика, реализованная в моем репозитории, что все объекты соответствуют:
x=>!x.IsDeleted
Но есть ли способ реализации этого для соответствующей коллекции SecondPoco?
На данный момент я бы написать:
var secondCollection = first.SecondPocoes.Where(x=>!x.IsDeleted);
Есть ли способ, как сделать это в общем?
EDIT это мой метод Get:
private IQueryable<T> GetQueryable<T>() where T : BasePoco
{
return _context.Set<T>().AsQueryable().Where(x => !x.IsDeleted);
}
public T Get<T>(int id) where T : BasePoco
{
return GetQueryable<T>().FirstOrDefault(x => x.Id == id);
}
Я думаю, вам нужно показать реализацию для вашего метода 'Get'. Скорее всего, там, где вы захотите добавить общую (вероятную абстрактную) логику, всегда использовать «! IsDeleted'. – Yuck
@Yuck см. Вопрос обновлен. Я не думаю, что вы понимаете, чего я пытаюсь достичь здесь. Я не звоню. Введите() для каждого элемента списка SecondPocoes. Метод Get никогда не вызывается для SecondPoco в этом случае –
Возможный дубликат: http://stackoverflow.com/questions/18707139/making-a-global-filter-for-entity-framework – Masoud