Если я хочу запустить что-то вроде этого
BLL.Person person = (BLL.Person)repository.Single(item => item.Id == Id);
В моем единственном методе я бы сделал что-то вроде этого:
public Resource Single(Expression<Func<BLL.Resource, bool>> where)
{
Resource resource = AsQueryable().FirstOrDefault(where);
return resource;
}
protected IQueryable<BLL.Resource> AsQueryable()
{
// I need to use the where clause on an object called DAL.Resource
throw new NotImplementedException();
}
Объект DAL.Resource идентичен объекту BLL.Resource, однако копия BLL не знает о персистентности. Я могу без проблем сопоставить вещи с помощью automapper, чтобы вернуть коллекцию того, что я хочу, однако мне нужно предложение where запустить Agaisnt DAL не BLL ...
Это должно быть как-то возможно! Любые идеи будут оценены.