Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 首先查询在实体框架代码中创建的纯联接表_Entity Framework_Many To Many_Code First_Jointable - Fatal编程技术网

Entity framework 首先查询在实体框架代码中创建的纯联接表

Entity framework 首先查询在实体框架代码中创建的纯联接表,entity-framework,many-to-many,code-first,jointable,Entity Framework,Many To Many,Code First,Jointable,我从以下两个表中创建了一个纯联接表: 用户: 我尝试过浏览角色或用户实体的导航链接,但似乎总是以大量拒绝编译的意大利面代码结束:-( 如果有人能给我指出正确的方向,我将不胜感激。即使有些教程也会有所帮助,我发现这些教程似乎只涉及到创建联接表,而不包括CRUD操作 谢谢!请注意您的映射: t.MapLeftKey("UserID") .MapRightKey("RoleID") .ToTable("CrUserRole")); 此映射显示查询的结果将始终为1或0。 正确的方法如下: 您同时拥有

我从以下两个表中创建了一个纯联接表:

用户:

我尝试过浏览角色或用户实体的导航链接,但似乎总是以大量拒绝编译的意大利面代码结束:-(

如果有人能给我指出正确的方向,我将不胜感激。即使有些教程也会有所帮助,我发现这些教程似乎只涉及到创建联接表,而不包括CRUD操作

谢谢!

请注意您的映射:

 t.MapLeftKey("UserID")
.MapRightKey("RoleID")
.ToTable("CrUserRole"));
此映射显示查询的结果将始终为1或0。 正确的方法如下: 您同时拥有用户id和角色id,对吗?
首先获取用户,然后查询该特定用户的角色。类似于:

var user = ctx.Users.FirstOrDefault(u => u.UserID == myUserId);
var role = user.Roles.FirstOrDefault(r => r.RoleId = myRoleId);
谢谢你,凯玛

我最终使用的版本是:

String[] returnUsers = new String[1]; 

var role = context.Roles.First(r=>r.RoleName.Equals(roleName)); 

returnUsers = role.Users.Select(s => s.UserName).ToArray(); 

谢谢你帮我找到了正确的方向,也很抱歉花了几个月的时间来更新它!

谢谢@Kamyar,它至少已经编译好了!一旦我为它做了一些测试,我会尝试一下。谢谢:-)没问题。感谢您的反馈:)
SELECT COUNT(*) 
FROM UserRole ur
WHERE ur.RoleID = @RoleID
AND   ur.UserID = @UserID
 t.MapLeftKey("UserID")
.MapRightKey("RoleID")
.ToTable("CrUserRole"));
var user = ctx.Users.FirstOrDefault(u => u.UserID == myUserId);
var role = user.Roles.FirstOrDefault(r => r.RoleId = myRoleId);
String[] returnUsers = new String[1]; 

var role = context.Roles.First(r=>r.RoleName.Equals(roleName)); 

returnUsers = role.Users.Select(s => s.UserName).ToArray();