【发布时间】:2018-05-17 17:15:09
【问题描述】:
我有一个带有 ef-core 的模型的小 api
public class AppUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Company { get; set; }
public ICollection<Account> Accounts { get; set; }
}
public class Account
{
public int id { get; set; }
public AppUser User { get; set; }
public string AccountNumber { get; set; }
}
我有一个控制器获取函数:
[HttpGet]
public async Task<IActionResult> Home()
{
// retrieve the user info
//HttpContext.User
var userId = _caller.Claims.Single(c => c.Type == "id");
var user = await _appDbContext.Users.SingleAsync(c => c.Id == userId.Value);
return new OkObjectResult(new
{
Message = "This is secure API and user data!",
user.FirstName,
user.LastName,
user.Accounts
});
}
如何让控制器返回帐户列表?在调试中,我可以看到具有正确数据的“帐户”变量,我只是不确定如何格式化该变量并将其返回 api
我目前正在接收:
{
"message": "This is secure API and user data!",
"firstName": "Bill",
"lastName": "Johnson",
"serviceAccounts": null
}
更新:所以我使用 dotnet 命令行运行了应用程序并得到了
{"firstName":"Bill","lastName":"Johnson","serviceAccounts":[{"id":1,"camsUser":{"firstName":"Bill","lastName":"Johnson","company":null
【问题讨论】:
-
您目前收到什么回复?
-
你在使用 Ef-Core 吗?
-
问题,如果你只是设置一个派生对象的值,你为什么要定义用户属性?您可以简单地将
user作为要返回的对象传递给值吗?消费者可以通过每个属性。 -
对帐户使用 Include。
-
user对象检索是否包含帐户?如果没有,那么您应该将其包含在 fetch 语句中
标签: c# asp.net .net asp.net-core asp.net-core-mvc