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

前端之家收集整理的这篇文章主要介绍了c# – Entity Framework使用外键从表中检索数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的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;

等等

猜你在找的C#相关文章