[英]Azure MobileService Client - ToListAsync not retrieving all data
[英]ApplicationDbContext ToListAsync() not returning 'Id' Column data
Asp.NET MVC 菜鳥在這里
我有一個帶有任務的AppUserRepository
:
public async Task<IEnumerable<AppUser>> GetAllForFirm(Tenant tenant)
{
return await _context.AppUsers.Where(u => u.Tenant == tenant && u.isDeleted == false).ToListAsync();
}
然后我像這樣調用這個任務:
視圖模型:
public List<AppUser> UsersForFirm { get; set; }
控制器( AppUserController
):
string username = User.Identity.Name;
AppUser user = await _appUserRepository.GetByUsernameAsync(username);
AppuserViewModel avm = new AppuserViewModel();
avm.UsersForFirm = (List<AppUser>)await _appUserRepository.GetAllForFirm(user.Tenant);
(對於額外的上下文,每個AppUser
都有一個關聯的“租戶”object)
這幾乎可以正常工作,並且avm.UsersForFirm
現在擁有一個AppUser
列表,其中與給定的Tenant
object 相關聯,我可以提取所有相關信息,如用戶名、Email 地址、lastLoggedIn 日期等。到目前為止一切都很好......
但是,當我嘗試分配avm.Id
時,似乎我的GetAllForFirm
任務正在為每個返回的AppUser
返回一個空白Guid
(00000000-0000-0000-0000-000000000000)
。 如果我檢查我的數據庫(在存儲了我的所有AppUser
信息的AspNetUsers
表中),所有AppUsers
都有一個有效的(“非”空白) Id
,這是與GetAllForFirm()
任務的結果不同的唯一信息。
有誰能夠解釋為什么會這樣,以及我做錯了什么?
謝謝!
試試這個並通過 viewmModel
這是 controller
using Microsoft.AspNetCore.Identity;
using WorkshopPro.Areas.Identity.Data;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Rendering;
public class UsersAdmin : Controller
{
private UserManager<ApplicationUser> userManager;
private readonly YourContext _cs;
public UsersAdmin(UserManager<ApplicationUser> usrMgr, YourContext cs)
{
userManager = usrMgr;
this.roleManager = roleManager;
_cs = cs;
}
public IActionResult Index()
{
return View(userManager.Users.Where(u => u.Tenant == tenant && u.isDeleted == false).ToList());
}
}
然后在你的視圖下
@model IEnumerable<YourProject.Areas.Identity.Data.AppUser>
<table>
@foreach (var item in Model)
{
<tr>
<td></td>
</tr>
}
</table>
就我而言,這是因為我的AppUser.cs
Model 中有一個 Id 字段。
刪除這些行
public class AppUser : IdentityUser
{
[Key] //<----------- This one
public string Id { get; set; }//<----------- And this one
是什么為我解決了它。 在此之后,我遇到的許多其他問題也得到了修復,例如 User.IsInRole 總是返回 false (實際上與用戶角色有關的任何其他問題)。
我花了整整 3 天的時間來解決這個問題,我希望這對其他人有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.