-1

次のコード スナペットは例外をスローします。

 public Models.Web.User GetLogingUser(string username, string password)
   {
       using (Data.User_Repository repository = new Data.User_Repository())
       {
      IQueryable<Models.Web.User> query = repository.FindAll().Select(x =>new             Models.Web.User()).Where(c => c.UserName.Equals(username.ToString())).AsQueryable();
           return query.Where(x => x.Password.Equals(password.ToString())).First();
       }
   }

ここで、リポジトリ クラスにはジェネリック メソッド insert、update、delete、find、findall などがあります。デバッグ中に、入力されたユーザー名のレコードが取得されることがわかりましたが、「クエリ」変数に割り当てると、次のエラー例外が発生します。親切に私を助けてください。「指定された型メンバー 'UserName' は、LINQ to Entities ではサポートされていません。サポートされているのは、初期化子、エンティティ メンバー、およびエンティティ ナビゲーション プロパティのみです。」

4

1 に答える 1

0

あなたの問題は .Equals() です。==,これはデータベースサーバーで実行されるため、データベース用に構成された大文字と小文字の比較タイプが使用されます。

于 2013-04-24T14:12:34.857 に答える