加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Entity Framework使用外键从表中检索数据

发布时间:2020-12-15 18:13:13 所属栏目:百科 来源:网络整理
导读:我的SQL Server数据库中有3个表Role,Permission和RolePermission. RolePermission由两列qRole和qPermission组成,这两列是其他两个表的外键. 因此,当Entity Framework为其创建模型时,它只创建两个类,并将RolePermission的虚拟属性添加到每个角色和权限类中.
我的SQL Server数据库中有3个表Role,Permission和RolePermission.

RolePermission由两列qRole和qPermission组成,这两列是其他两个表的外键.

因此,当Entity Framework为其创建模型时,它只创建两个类,并将RolePermission的虚拟属性添加到每个角色和权限类中.

现在我需要从RolePermission中选择列,所以我写了这段代码:

var rolePermission = PREntitiy.Roles.Where(r => r.qRole == TxtRole.Text)
                                    .Select(p => p.Permissions);

这样做我可以访问rolePermission表,但是我需要从角色表中检索一些列,并在单个查询中从rolePermission中检索一些列,就像我们在SQL中的join语句中所做的那样.

换句话说,我需要一个linq查询来访问角色表中的一些列,一些来自rolePermission,但我需要在一个linq查询中执行它,就像SQL中的join语句一样.

谢谢

解决方法

您正在寻找.Include()语句

http://msdn.microsoft.com/en-us/data/jj574232.aspx

var role = PREntitiy.Roles.Include(r=>r.Permission).Where(r => r.qRole == TxtRole.Text)

我没有你的所有类,所以Permission属性可能不正确.

您可以使用正常的点符号访问每个类的属性:

var x = role.name;
var y = role.Permission.Name;

等等

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读