7

エンティティ フレームワークのエンティティに "Or" 条件を追加できますか? たとえば、次のようなものです。

プロパティ 1 == (1 または 2 または 3)

「1 || 2 || 3」または「1,2,3」または「1または2または3」の値を入力すると、次のメッセージが返されます。

condition is not compatible with the type of the member
4

3 に答える 3

17

あなたがする必要があります:

var results = entityCollection.Where(entity => entity.Property1 == 1 || entity.Property1 == 2 || entity.Property1 == 3);
于 2010-04-02T19:48:25.030 に答える
13

述語ビルダーもチェックしてください: http://www.albahari.com/nutshell/predicatebuilder.aspx

もう少し高度ですが、条件を動的にチェーンする必要がある場合は、これが最善の策です。

foreach (string keyword in keywords)
  {
    string temp = keyword;
    predicate = predicate.Or (p => p.Description.Contains (temp));
  }
于 2010-04-03T17:32:30.703 に答える
3

これを試したことはありませんが、使用してみることができますcontains。パフォーマンスについては不明ですが、コードは小さくなっています。

int[] vals = new int[] { 1, 2, 3, 4 };
var results = entityCollection.Where(entity => vals.Contains(entity.Property1));
于 2010-04-02T20:36:00.137 に答える