C# 如何通过entityframework获取多条记录

C# 如何通过entityframework获取多条记录,c#,entity-framework,C#,Entity Framework,我有三张桌子 员工(ID数字,名称varchar) 登录(ID数字、用户名varchar、密码varchar) EmployeeLogin(ID数字、EmployeeID、LoginID) 关系是指一名员工可以多次登录。如何获取特定员工的所有登录名 我可以使用下面给出的代码获取单个记录,但如何获取多个记录 using (var context = new AllEntities()) { var query = from c in context.Employees

我有三张桌子

  • 员工(ID数字,名称varchar)
  • 登录(ID数字、用户名varchar、密码varchar)
  • EmployeeLogin(ID数字、EmployeeID、LoginID)
  • 关系是指一名员工可以多次登录。如何获取特定员工的所有登录名

    我可以使用下面给出的代码获取单个记录,但如何获取多个记录

    using (var context = new AllEntities())
    {
          var query = from c in context.Employees
                         where c.ID == 9
                         select c;
    }
    

    如果雇员和登录名之间只有一对多关系,那么EmployeeLogin表似乎是多余的。您只需在登录表中放置一列EmployeeId。您现在的设置支持员工和登录之间的多对多

    如果您根据我的建议更改您的模型,那么您可以获得以下EmployeeId的所有登录:

                var query = from c in context.Logins
                            where c.EmployeeID == 9
                            select c;
    
    如果保留当前模型,则可以获得员工id的所有登录,如下所示:

                var query = from l in context.Logins
                            join el in context.EmployeeLogins
                            on l.LoginId equals el.LoginId
                            where el.EmployeeID == 9
                            select l;
    

    如果雇员和登录名之间只有一对多关系,那么EmployeeLogin表似乎是多余的。您只需在登录表中放置一列EmployeeId。您现在的设置支持员工和登录之间的多对多

    如果您根据我的建议更改您的模型,那么您可以获得以下EmployeeId的所有登录:

                var query = from c in context.Logins
                            where c.EmployeeID == 9
                            select c;
    
    如果保留当前模型,则可以获得员工id的所有登录,如下所示:

                var query = from l in context.Logins
                            join el in context.EmployeeLogins
                            on l.LoginId equals el.LoginId
                            where el.EmployeeID == 9
                            select l;
    

    您应该在员工实体的导航属性中拥有所有登录名。请参见本教程:

    您可以让实体框架自动获取相关数据,也可以手动获取;有关延迟加载与快速加载的说明,请参阅以下教程:


    您应该在员工实体的导航属性中拥有所有登录名。请参见本教程:

    您可以让实体框架自动获取相关数据,也可以手动获取;有关延迟加载与快速加载的说明,请参阅以下教程: