我试图找出一种方法将包含语句的集合传递到我的存储库中,以便我可以让它包含特定实体。以下是我的存储库中的一些示例代码。
public TEntity GetById(Guid id)
{
return id != Guid.Empty ? GetSet().Find(id) : null;
}
private IDbSet<TEntity> GetSet()
{
return _unitOfWork.CreateSet<TEntity>();
}
GetByID 方法调用 GetSet 以返回实体集。我在想,如果我能以某种方式传入一组实体以包含(通过表达式)作为我的 GetById 的一部分,这样我就不必将 GetSet 公开给我的服务。所以,像这样:
var entity = _repository.GetById(theId, e => {e.Prop1, e.Prop2, e.Prop3});
然后我可以将该表达式传递给我的 GetSet 方法并将其传递给一个包含语句。想法?