2
我正在嘗試創建一個登錄頁面。當我嘗試用linq接收用戶數據時,我得到一個異常,因爲我嘗試在查詢中使用Parse。我在網上搜索了一下,發現這是因爲Linq不認識Parse。根據我的理解,我必須將不可識別的代碼翻譯成linq/slq可識別的代碼。由於我剛剛開始使用linq查詢,我不知道如何完成此操作。Linq不被識別在查詢中解析
我的查詢:
public static UserDetails GetUser(UserDetails userde)
{
var usr = from u in db.Users
join r in db.Roles on u.RoleId equals r.IdRole
where u.Email == userde.Email && u.Active == true
select new UserDetails
{ Firstname = u.Firstname,
Surname = u.Surname,
Email = u.Email,
Function = u.Function,
Password = u.Password,
Salt = u.Salt,
Userroles = (UserRoles)Enum.Parse(typeof(UserRoles), r.Role1)
};
return usr.FirstOrDefault();
}
我查了一下這些文章:
- linq to entities does not recognize method
- linq to entities does not recognize the methods system object parsesystem type
我試圖做到這一點 VAR USR1 = db.Users.Where(U => usr.FirstOrDefault()==電子郵件u.Email).FirstOrDefault(); (UserRoles)Enum.Parse(typeof(UserRoles),usr1.Role.Role1); 但由於某種原因,即使它只是一個普通用戶,我的usrroles總是堅持管理員。將嘗試做你所說的 –
你的代碼工作!非常感謝你 –