私はリストを持っており、これらの文字列のいずれかが、linq to sqlを使用して単一のSQLレコードの3つのフィールドのいずれかに入っているかどうかを確認したい。リストアイテムとlinq sqlオブジェクトを一致させる方法
ListA<strings>;
var found=db.People.Where(p=>p.field1 field 2 or field 3 is in ListA). Select this person
私はリストを持っており、これらの文字列のいずれかが、linq to sqlを使用して単一のSQLレコードの3つのフィールドのいずれかに入っているかどうかを確認したい。リストアイテムとlinq sqlオブジェクトを一致させる方法
ListA<strings>;
var found=db.People.Where(p=>p.field1 field 2 or field 3 is in ListA). Select this person
使用このコード:
ListA<strings>;
var found=db.People.Where(p=>
ListA.Contains(p.field1) || ListaA.Contains(p.field2)
|| ListaA.Contains(p.field3));
してください、これはDBからのすべてのレコードを取得し、アプリケーション側の条件をテストすることに注意してください。
EDIT:これは他の回答のコードと同じですが、どのように動作するかに関するメモが含まれているため、削除しません。 (@Adrian lftodeのコメントのために変更されました)
var found = db.People.Where(p=>ListA.Contains(p.field1) || ListA.Contains(p.field2) || ListA.Contains(p.field3));
どのようなC#をお使いですか? –
私は書いたか、|の代わりに書いています。それはもちろん間違いです。しかし、私はそれが何らかの "擬似コード"だと思うので、元のメッセージから "この人を選択する"をそのまま残しました。 – JotaBe
あなたの答えの問題は構文のために正しくないということです。これを見ているとC#で非常に新しいことが混乱すると思います。 –