単一のデータベースフィールドにコンマ区切りのリストとしてデータ要素が格納されているレガシーデータベースがあります。(私はそれを設計しませんでした、私はそれに固執しています。)
DBフィールドの「配列」の個々の値のいずれかに一致させたい文字列のリストがありますが、Linqでこれを行う方法がわかりません。
私のリスト:
List<string> items= new List<string>();
items.Add("Item1");
items.Add("Item2");
DBフィールド「Products」には、次のようなデータが含まれます。
"Item1,Item3,Item4"
"Item3,Item5,Item6"
"Item2,Item7,Item6"
"Item1,Item2"
"Item1"
Linqクエリでの最初のパスは次のとおりです。
var results = (from o in Order
.Where(p=> items.Contains(p.Products)
しかし、私はそれがうまくいかないことを知っています。「Item1」または「Item2」のみを含むレコードのみが返されるためです。したがって、上記の例のデータでは、0レコードが返されます。2つのレコードを返すようにする必要があります。
助言がありますか?