首页 > 解决方案 > Linq 加入到与 Entity Framework Core 的 1:n 关系

问题描述

我是论坛的新手,我来自德国,因为我的英语不是最好的。我希望你能理解我。

我对 Entity Framework Core 中的 linq 有疑问。

我有这些表:

TB_Account

AccountId
LoginName
Password

TB_AccountAccountData

AccountId
AccountDataId

TB_AccountData

AccountDataId
EmailAddress
ModuleId
...

这是我的DbContext课:

internal class LoginSystemContext : DbContext
{
    public DbSet<TB_Account> Accounts { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder options)
            => options.UseSqlServer("Data Source=LoginSystem.db");
}

这些是我的模型类之一:

internal partial class TB_Account
{
    #region properties...
    public int Id { get; set; }
    public string LoginName { get; set; }
    public string Password { get; set; }
    public ICollection<TB_AccountData> AccountData { get; set; }
    #endregion
}

现在我想获得一个具有以下标准的数据集:

LoginName AND EmailAddress AND ModuleId

我的问题是,我不知道如何对TB_AccountData.

谁能帮我?

标签: c#linqentity-framework-core

解决方案


使用Include加载相关数据:

using(LoginSystemContext db = new LoginSystemContext()){
var account = db.Accounts.Include("AccountData").Select(x => new {LoginName, EmailAddress, x.Accounts.FirstOrDefault().ModuleId});}

祝你好运!!


推荐阅读