0
我的數據庫中有一個IQueryable<Model>
對象。我需要將它們轉換爲IQueryable<ViewModel>
如何使用Linq 2實體聚合字符串
class Model
{
public Guid ModelId { get; set; }
// some properties
public virtual User Users{ get; set; }
}
class User
{
public Guid UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
class ViewModel
{
public Guid ModelId { get; set }
public string UsersName { get; set; }
}
ViewModel.UsersName應合併首先用戶名和姓的字符串。 這個需要是IQueryable,因爲我將使用DevExpress Mvc Grid,我需要以這種方式傳遞它。網格處理分頁,所以它需要IQueryable。
我已經試過:
IQueryable<ViewModel> viewModel = model.Select(s => new ViewModel()
{
UsersName = s.Users
.OrderBy(d => d.LastName)
.ThenBy(d => d.FirstName)
.Aggregate(string.Empty, (s1, users) => users.FirstName + ' ' + users.Surname + ", ")
});
,但它不是平移,以LINQ到實體。我也試過string.join(),但它也不會工作。
結果字符串應該是expample:「西西莉婭勒布朗,莎拉·霍奇」 ......等
感謝任何輸入。
你需要什麼'UsersName'?也許在DevExpress網格上這會更容易一些(因爲它必須在某個時間點對數據進行素材處理) – 2013-02-15 12:07:02
UsersName將作爲一列顯示在網格上。感謝您的建議。 – 2013-02-15 12:28:45