首页 > 解决方案 > 如何使用 Entity Framework Core 检索外键

问题描述

sectorId我在我的实体中调用了一个外键AspNetUsers,我可以插入该sectorId键,但是当我获得该键时,它就好像它为空一样。如何正确获取这些数据?

我的Setor班级:

public class Setor
{
    public int Id { get; set; }
     ...
}

我的User班级:

public class Usuario : IdentityUser
{
    [Required]
    public Setor Setor { get; set; }
}

我的DbContext班级:

public class SSContext : IdentityDbContext<IdentityUser>
{
    private readonly IHttpContextAccessor _httpContextAccessor;
    
    public SSContext(DbContextOptions<SSContext> opts, IHttpContextAccessor httpContextAccessor) : base(opts)
    {
        _httpContextAccessor = httpContextAccessor;
    }

    protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);
    }
  
    public DbSet<Unidade> Unidades { get; set; }
    public DbSet<Setor> Setores { get; set; }
    public DbSet<Usuario> Usuarios { get; set; }
}

数据

在此处输入图像描述

我想做一个连接,但我的查询结果始终为空

var query = await (from u in _context.Usuarios 
                   where u.UserName == User.FindFirstValue(ClaimTypes.Name)
                   select u.Setor.Id).ToListAsync();
return Content($"{query.Count}");

标签: c#entity-framework-core

解决方案


推荐阅读