我正在尝试使用实体框架执行此查询:
SELECT uir.roleid
FROM UsersInRoles uir
WHERE uir.userid = @userid
UsersInRoles 包含:roleid
且userid
仅。
问题是,UsersInRoles
是一个多对多的关系表。Roles
它根据我的和Users
表的 PK连接我的表和表。实体框架通过删除 UsersInRoles 实体非常奇怪地处理了这个问题,我无法理解如何形成查询。
这就是我所拥有的,但是当它应该只返回 2 行时它返回了 27 行。
var user_roles = admin_db.Roles
.Where(u => u.User.userid == db_userid)
.Select(r => r.roleid).ToList();
说实话,老实说,我什至无法弄清楚它是如何返回 27 的。这样的结果数量毫无意义。