2016-12-10 7 views
-1

昨日Linqからエンティティフレームワークに移行したようです。しかし、私はコード内の別の場所をページ上に置いています。しかし、私はちょうどページにログインする必要があるので、私に問題を与える。'Int32 Userid()'メソッド - 以前のLINQでの作業がエンティティフレームワークに移動しました

LINQ to Entitiesは、メソッド 'Int32 Userid()'メソッドを認識せず、このメソッドをストア式に変換することはできません。

ユーザーがログインしているかどうかを知るためのセッションがあるかどうかを調べる必要がある場合は間違いを犯します。

しかし私はEF(エンティティフレームワーク)で初めて作業していますが、Linqとの間ではすぐに約2年後に作業しました。

private static int Userid() 
    { 
     return Helper.BrugerInformation.SessionVale.SessionBrugerid(); 
    } 

public static string UserLayOut() 
     { 
      var checkuser = db.Users.FirstOrDefault(i => i.Id == Userid()); 
      if(checkuser != null) 
      { 
       return "~/Views/Shared/_backendLayout.cshtml"; 
      } 
      else 
      { 
       return "~/Views/Shared/_Layout.cshtml"; 
      } 
     } 

リターンセッション情報:私は前にできたと私は別の値を使用できるように、私は成し遂げることができますどのように

public const string BrugerId = "Brugerid"; 

     public class SessionVale 
     { 
      public static int SessionBrugerid() 
      { 
       string brugerid = BrugerId; 
       return Convert.ToInt32(HttpContext.Current.Session[brugerid]); 
      } 
     } 

答えて

2

例えば

int userid = Userid(); 
var checkuser = db.Users.FirstOrDefault(i => i.Id == userid); 
+0

ないどのようにおいしいあなたは解決される問題で私を助けてとても速かったことを、ローカル変数を使用してください!。何度もありがとうございます。あなたは私に質問のために+1を与えることを願っています。 メリークリスマス。 –

関連する問題