一对多关系中的ICollection用户

时间:2019-03-01 21:00:18

标签: asp.net-core asp.net-identity entity-framework-core postman

我有一个与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

我读了一些文章,说您必须让表用户解决此问题,但是我觉得太“诡计”,无法做到这一点。

0 个答案:

没有答案