在我DAL的RepositoryBase中,我有下面的代碼...我似乎無法弄清楚ObjectQuery query = ObjectSet; ?我關門了嗎?EF ObjectQuery <T> query = ObjectSet;如此接近
public IEnumerable<T> QueryObjectGraph(Expression<Func<T, bool>> filter, params string[] children)
{
//ObjectQuery<T> query = ObjectSet; //nope...requires 1 type argument
//ObjectQuery<T> query = ObjectSet<T>; //nope......type used like variable
// ObjectQuery<T> query = ObjectSet<T>(); //nope ...type used like variable
//ObjectQuery<T> query = new ObjectSet<T>(); //nope...no constructors defined
IQueryable<T> query;
foreach (var child in children)
{
query = query.Include(child);
}
return query.Where(filter);
}
你想實現什麼?你應該查詢已經實例化的ObjectSet而不是創建它。 –
..和「你想達到什麼?」...看看簽名...看,我包括子表和應用過濾器。所有這些都在通用的存儲庫中。 – Bryant
這似乎不會拋出錯誤......如果有助於任何公衆T獲取(表達式<0121)其中 { return dbset.Where(where).FirstOrDefault(); } 公共的IEnumerable QueryObjectGraph(表達式>過濾器,則params串[]兒童) { 的foreach(兒童VAR兒童) { dbset.Include(子); } return dbset.Where(filter); } –
Bryant