我有 2 个表之间的多对多关系,我想从联结表中检索数据。
我先分享一些资源
数据库表的图像:
EF 模型实体的图像:
调试时的错误图像:
我正在使用以下规则或策略
+数据库优先方法
+EF图
+自定义角色提供者
问题是,当我尝试从连接表 (user_has_role) 检索数据时,我得到的是 SQL 查询而不是数据。###
我得到的 SQL 查询:
选择 \r\n [Extent1].[user_id] AS [user_id],\r\n [Extent2].[user_role_name] AS [user_role_name]\r\n FROM [dbo].[user_has_role] AS [Extent1]\r \n INNER JOIN [dbo].[user_role] AS [Extent2] ON [Extent1].[user_role_id] = [Extent2].[user_role_id]
这是一些代码
角色提供者类派生自 RoleProvider 类
public class AppRolesProvider : RoleProvider
所有方法都被覆盖但仅与
public override string[] GetRolesForUser(string username)
{
//get all user data from user table for id based on user email
var _user = db.users.Where(u => u.user_email == username).FirstOrDefault();
var _role = (from s in db.users
where (
from c in s.user_role
where s.user_id == _user.user_id
select c
).Any()
select s).ToString();
string[] roleName = { _role };
if (roleName != null)
{
return roleName;
}
else
{
roleName = null;
return roleName;
}
}
我想要针对用户的实际角色名称(一个用户有很多角色,也可能只有一个)
慕码人2483693
相关分类