我正在開發一個ASP.Net MVC 3 Web應用程序與實體框架4.當用戶登錄到我的應用程序,我想存儲他們的用戶實體(名,姓等)在一個可以在整個應用程序中訪問的會話。ASP.Net MVC商店用戶實體在會話
據我所知,這可能不是一個好主意,因爲當ObjectContext關閉/配置時,用戶實體被分離,用戶細節可能丟失。
我想另一種方法可能是,當用戶登錄時,用戶ID(主鍵)分配給一個會話變量,即:
HttpContext.Current.Session["currentUserID"] = user.userID;
在UserService類,像這樣然後創建一個類:
public static User CurrentUser
{
get
{
return Data.DBEntities.Users.Where(u => u.userID == HttpContext.Current.Session["currentUserID"]).FirstOrDefault();
}
}
應該根據currentUserID會話變量返回一個用戶實體。這不是爲我工作然而,我得到一對夫婦的錯誤
Cannot convert lambda expression to type 'string' because it is not a delegate type
Delegate 'System.Func<Asset.Model.User,int,bool>' does not take 1 arguments
的是這種方法我正在正確的,或者是有沒有更好的辦法?
任何反饋將不勝感激。
感謝您的反饋。 – tgriffiths 2011-02-15 20:23:02