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
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;
您应该在员工实体的导航属性中拥有所有登录名。请参见本教程: 您可以让实体框架自动获取相关数据,也可以手动获取;有关延迟加载与快速加载的说明,请参阅以下教程:
您应该在员工实体的导航属性中拥有所有登录名。请参见本教程: 您可以让实体框架自动获取相关数据,也可以手动获取;有关延迟加载与快速加载的说明,请参阅以下教程: