私はASP.Net MVCとADO.Netエンティティデータモデルを使用しています。 ToList()メソッドを使用すると、テーブルからすべてのレコードが選択されます。ADO.NetエンティティデータモデルのToList()メソッドの特定のレコードを除外できますか?
この場合、SQL文のwhere句のような特定のレコードを除外できますか? ありがとう!
私はASP.Net MVCとADO.Netエンティティデータモデルを使用しています。 ToList()メソッドを使用すると、テーブルからすべてのレコードが選択されます。ADO.NetエンティティデータモデルのToList()メソッドの特定のレコードを除外できますか?
この場合、SQL文のwhere句のような特定のレコードを除外できますか? ありがとう!
Where extension methodを使用することができます。
たぶんのようなもの:それが動作するようになりまし
userEntity.USERs.ToList().Where(user => user.UserId != 3456);
はWhere()
メソッドは、SQLのWHERE句のようなリストを取得するために、生成されたSQLに制約を置くことができます
userEntity.Users.Where(row => row.SomeColumn == SomeValue).ToList();
のようなものを試してみてください。
! ありがとうございました。 –
+1の使用方法を説明するために+1 jon skeet posts: –
ありがとうございましたPaul! これは今動作します! –
私は、ToListの前にwhere節を置くと、where節に一致する行だけを取り出すために、適切なsqlを生成することがEFにあると考えています。あなたが持っている方法では、すべての行をメモリに戻し、次にその場所をフィルタリングします。オブジェクトへのlinqの実装に関するSkeetの記事をチェックしてください。http://edulinq.googlecode.com/hg/posts/20-ToList.html –
@MattPhillips:+1良い観察と丁寧な答え。私はちょうどその使い方の簡潔さを示すためにWhere拡張についていました。 LINQ/lambda n00bsの多くが問題になる場所を指摘しました! –