Linq加入实体框架核心的1:n关系

时间:2020-07-28 13:12:17

标签: c# linq entity-framework-core

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

我对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执行join语句。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

使用Include加载相关数据:

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

祝你好运!

相关问题