C# 使用oData和EFCore返回关系对象
我可以使用linq和实体框架核心以及以下控制器功能来获取关系数据。但是,当我尝试使用oData时,它会忽略关系数据 我需要做额外的步骤吗?没有错误,但它只是忽略响应中的关系数据C# 使用oData和EFCore返回关系对象,c#,api,asp.net-core,entity-framework-core,odata,C#,Api,Asp.net Core,Entity Framework Core,Odata,我可以使用linq和实体框架核心以及以下控制器功能来获取关系数据。但是,当我尝试使用oData时,它会忽略关系数据 我需要做额外的步骤吗?没有错误,但它只是忽略响应中的关系数据 [HttpGet] [EnableQuery] public IEnumerable<User> Get() { IEnumerable<User> users; using (var context = new DivDbConte
[HttpGet]
[EnableQuery]
public IEnumerable<User> Get()
{
IEnumerable<User> users;
using (var context = new DivDbContext())
{
users = context.Users.Include(user => user.UserClaims).ToList();
}
return users;
}
[HttpGet]
[启用查询]
公共IEnumerable Get()
{
i无数用户;
使用(var context=new DivDbContext())
{
users=context.users.Include(user=>user.UserClaims.ToList();
}
返回用户;
}
我想出来了。oData要求您通过URL显式请求扩展对象。我可以通过添加$expand=\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
?$expand=userClaims
也就是说,我不知道如何用这种语法处理嵌套属性。UserClaims有一个claim属性,也可以进行扩展。我可以使用正斜杠在同一对象上请求多个扩展属性,但我仍然没有找到如何扩展已扩展对象的属性。下面是如何扩展子对象的子对象: