0

特定の列が2つの値のいずれかに等しい場合にのみプロパティをマップしたいのですが、現在これを試しました:

HasMany<Event>(u => u.Events)
    .KeyColumn("Id")
    .Cascade.AllDeleteOrphan()
    .OrderBy("OrderByDate desc")
    .Where(e => e.Status == Status.New || e.Status == Status.Old);

しかし、「式をSQLに変換できません」という例外が発生します

間に OR 演算子がある 2 つの where 句を使用してマッピングを作成するにはどうすればよいですか?

編集: マッピングで SQL を使用したくない、ラムダ式を使用したい (可能であれば...)

4

1 に答える 1

1

実装はいくつかのことを処理しますが、完全にはほど遠いです (特にExpressionType.OrElse/BinaryExpressionは処理されません)。自分で sql を記述するか、クラスの実装を強化する必要がありますExpressionToSql

于 2013-01-08T07:09:16.340 に答える