2016-06-16 3 views
0

方法を認識しない、私はこのエラーを見ています理由を教えてください:エンティティへLINQは、C#

LINQは、このコードではメソッドに

を認識しません:

var shopCom = _entities.ShoppingComments.LastOrDefault(
XX => XX.UserId == obj.UserId && 
XX.ShoppingScoreTypeId ==obj.TypeId && 
XX.WhichId == obj.Id && 
XX.CommentDate ==objShoppingComment.CommentDate && 
XX.Commnet ==objShoppingComment.Commnet); 
+0

XXとは何ですか? objとは何ですか? shopComはどこで使っていますか?エラーはどの行に表示されますか? – Aimnox

+0

ShoppingComment objShoppingComment;ポストコメントobj; – ara

+0

コメント(文字列)、XX.Commnet == objShoppingComment.Commnetを比較していました。削除した場合、コードは – ara

答えて

0

Supported and Unsupported LINQ Methods (LINQ to Entities)によると、LastLastOrDefaultメソッドはサポートされていません。

0または1つのレコードが必要な場合は、LastOrDefaultFirstOrDefaultに置き換えます。

は、そうでなければ、このようなものを使用します。

var shopCom = _entities.ShoppingComments 
    .Where(XX => XX.UserId == obj.UserId && 
     XX.ShoppingScoreTypeId ==obj.TypeId && 
     XX.WhichId == obj.Id && 
     XX.CommentDate ==objShoppingComment.CommentDate && 
     XX.Commnet ==objShoppingComment.Commnet) 
    .OrderByDescending(XX => XX.SomeField) 
    .FirstOrDefault(); 
+0

https://msdn.microsoft.com/en-us/library/bb301849(v=vs。 110).aspx –

+0

コメント(文字列)、XX.Commnet == objShoppingComment.Commnetを比較していました。削除した場合、コードは正常に動作します – ara

+0

私は疑いがあります。 EFコアを使用していることを除いて、あなたはどうですか? –

0

LINQのエンティティにボンネットの下にSQLに翻訳されたので、私は問題がLastOrDefaultで、可算を逆にしてFirstOrDefaultを使用すると思います。

+0

コメント(文字列)、XX.Commnet == objShoppingComment.Commnetを比較していました。削除してもコードは機能しますが、なぜ文字列を比較できないのですか? – ara