0
我用來創建一個自定義角色提供程序。asp.net MVC3 LINQ表達式
我的項目 - asp.net MVC3,實體框架4
沒有與GetRolesForUser方法的問題。
定製RoleProvider - GetRolesForUser方法
// The user to return a list of roles for.
public override string[] GetRolesForUser(string userAccount)
{
var userId = userRepository.GetUser(userAccount).UserId;
var roleIds = from ur in usersInRoleRepository.UsersInRoles
where ur.UserId == userId
select ur.RoleId;
var roleNames = from r in roleRepository.Roles
where roleIds.Contains(r.RoleId)
select r.RoleName;
if (roleNames != null)
{
**return roleNames.ToArray(); // here Error**
}
else
{
return new string[0];
}
}
錯誤消息:指定的LINQ表達式包含對與不同的上下文相關聯的查詢的引用。
我不知道這段代碼是否有問題。
請幫忙。
用戶實體
public class User
{
public Guid UserId { get; set; }
public string UserAccount { get; set; }
public string Password { get; set; }
public string UserEmail { get; set; }
public DateTime JoinDate { get; set; }
public DateTime LoginDate { get; set; }
}
角色實體
public class Role
{
public Guid RoleId { get; set; }
public string RoleName { get; set; }
public DateTime CreateDate { get; set; }
}
UsersInRole實體
public class UsersInRole
{
public Guid UserId { get; set; }
public Guid RoleId { get; set; }
public DateTime SetDate { get; set; }
}
謝謝。問題現在解決得很好。 – user2214027 2013-04-09 07:58:33
@ user2214027然後將答案標記爲正確:) – Alex 2013-04-09 08:01:45