エンティティ フレームワークのエンティティに "Or" 条件を追加できますか? たとえば、次のようなものです。
プロパティ 1 == (1 または 2 または 3)
「1 || 2 || 3」または「1,2,3」または「1または2または3」の値を入力すると、次のメッセージが返されます。
condition is not compatible with the type of the member
エンティティ フレームワークのエンティティに "Or" 条件を追加できますか? たとえば、次のようなものです。
プロパティ 1 == (1 または 2 または 3)
「1 || 2 || 3」または「1,2,3」または「1または2または3」の値を入力すると、次のメッセージが返されます。
condition is not compatible with the type of the member
あなたがする必要があります:
var results = entityCollection.Where(entity => entity.Property1 == 1 || entity.Property1 == 2 || entity.Property1 == 3);
述語ビルダーもチェックしてください: http://www.albahari.com/nutshell/predicatebuilder.aspx
もう少し高度ですが、条件を動的にチェーンする必要がある場合は、これが最善の策です。
foreach (string keyword in keywords)
{
string temp = keyword;
predicate = predicate.Or (p => p.Description.Contains (temp));
}
これを試したことはありませんが、使用してみることができますcontains
。パフォーマンスについては不明ですが、コードは小さくなっています。
int[] vals = new int[] { 1, 2, 3, 4 };
var results = entityCollection.Where(entity => vals.Contains(entity.Property1));