3
我需要用ValueInjecter將IQueryable<User>
映射到IQueryable<SimpleUser>
。IQueryable的ValueInjecter <T>
這可能嗎?
我想:
return userRepo.GetUsers()
.Select(o => new SimpleUser().InjectFrom(o))
.Cast<SimpleUser>();
但是,這不能被轉換爲存儲表達式...好,方法InjectFrom
。
automapper可以做到這一點嗎?
我想類似這樣的東西:
return from i in userRepo.GetUsers()
select new SimpleUser{
i.UserId,
i.Name
};
但利用某種映射工具。
有沒有辦法在評估查詢之前做到這一點?我有一個網格控件,利用IQueryable進行過濾,分頁和排序。 – 2011-03-26 17:03:57
@Lol編碼器 - 在嘗試進行轉換之前,您需要進行過濾,排序和分頁。簡單而簡單,轉換不會轉換爲SQL,因此您必須將LINQ用於對象,這意味着所有對象都必須位於內存中。是否可以映射對應於SimpleUser的視圖?然後你可以設置SQL函數對應的視圖,允許你傳入參數做過濾,排序,分頁。 – tvanfosson 2011-03-26 17:07:50
@tvanfosson我編輯了我的問題以顯示我想實現的目標。 – 2011-03-26 19:45:43