首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过实体框架获取多条记录

如何通过实体框架获取多条记录
EN

Stack Overflow用户
提问于 2012-01-12 10:03:47
回答 2查看 3.6K关注 0票数 1

我有三张桌子

  1. Employee (ID数字,Name varchar)
  2. Login (ID数字,UserName varchar,密码UserName (ID数字,EmployeeID,LoginID)

关系是一个员工可以有多个登录。我将如何获得特定员工的所有登录名。

我能够使用下面给出的代码获取单个记录,但是如何获得多个记录?

代码语言:javascript
复制
using (var context = new AllEntities())
{
      var query = from c in context.Employees
                     where c.ID == 9
                     select c;
}
EN

回答 2

Stack Overflow用户

发布于 2012-01-12 10:20:48

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

如果您按照我的建议更改您的模型,那么您就可以获得像这样的EmployeeId的所有登录:

代码语言:javascript
复制
            var query = from c in context.Logins
                        where c.EmployeeID == 9
                        select c;

如果您保留当前的模型,您可以获得员工id的所有登录信息,如下所示:

代码语言:javascript
复制
            var query = from l in context.Logins
                        join el in context.EmployeeLogins
                        on l.LoginId equals el.LoginId
                        where el.EmployeeID == 9
                        select l;
票数 4
EN

Stack Overflow用户

发布于 2012-01-12 16:05:03

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

http://www.asp.net/web-forms/tutorials/getting-started-with-ef/the-entity-framework-and-aspnet-getting-started-part-1

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

http://www.asp.net/web-forms/tutorials/getting-started-with-ef/the-entity-framework-and-aspnet-getting-started-part-2

http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/reading-related-data-with-the-entity-framework-in-an-asp-net-mvc-application

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8833194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档