我有一个与AspnetUser有一对多关系的应用程序,当我对Postman进行GET请求时,我没有收到所有用户信息,只有一个带有自定义用户数据的JSON损坏了。
我已经尝试调试代码,在发送信息之前我注意到所有数据都在发送的对象内部。
ControllerBase:
[HttpGet]
public async Task<IActionResult> GetClasses ()
{
var classes = await_repository.All.ToListAsync();
return Ok(classes);
}
存储库:
public IQueryable<TEntity> All => _context.Set<TEntity>().AsQueryable();
类模型
public partial class Classes
{
public Classes()
{
Users = new HashSet<UserApplication>();
}
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<UserApplication> Users { get; set; }
}
UserApplication
public class UserApplication : IdentityUser
{
public string Name { get; set; }
public int Age { get; set; }
public int ClassesId { get; set; }
public virtual Classes Classes { get; set; }
}
实体配置
builder.HasOne(d => d.Classes)
.WithMany(p => p.Users)
.HasForeignKey(d => d.ClassesId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("Users_ClassesId_fkey");
因此,当我在Visual Studio上调试时, var类具有全部属性,但是当我使用邮递员时,得到的结果是
Postman上的GET结果
[{"id":1,"name":"Test","users":[{"name":"Teste123","age":18, "classesId":1
我读了一些文章,说您必须让表用户解决此问题,但是我觉得太“诡计”,无法做到这一点。