3
我有來自具有以下5個字段的數據庫的用戶實體列表。最後一個字段非常大。不顯示自定義實體中的OData v4集合
public class User
{
[Key]
public int Id { get; set; }
public string UserName { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public byte[] FromImage { get; set; }
}
在我的自定義操作方法之前:GetUsersExcludingPics,我正在恢復這些用戶通過簡單的LINQ查詢列表,並everythign被罰款
return _dbContext.Users;
但需要要求的變化是:
- 排除在某些時間返回圖像
- 返回一個對象,該對象中包含Users集合並且總麻木呃
爲了達到這個目的,我必須開始使用用戶的viewmodel。我現在有這個對象:
public class CoordsLoadUsers
{
[Key]
public int ID { get; set; }
public ICollection<UserViewModel> Users { get; set; }
public int TotalUsers { get; set; }
}
,我不得不嘲笑他們爲實體ODataConventionBuilder認出來:
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<CoordsLoadUsers>("CoordsLoadUsers");
builder.EntitySet<UserViewModel>("UserViewModel");
,現在我裝我的用戶是這樣的:
var users = _dbContext.Users.Select(u => new UserViewModel
{
Id = u.Id,
UserName = u.UserName,
FirstName = u.FirstName,
LastName = u.LastName
});
var matchingUsers = usersInRegion.Take(10);
coordLoadUsers.Users = matchingUsers.ToList<UserViewModel>();
coordLoadUsers.TotalUsers = usersInRegion.Count();
return coordLoadUsers;
我在coordLoadUsers.Users上設置了突破點,它似乎填充了用戶,但提琴手只顯示這一點。沒有提到我的用戶列表。我錯過了什麼?