![](/img/trans.png)
[英]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.