4

OrmLite 拡張メソッドUpdateOnlyを使用して複数のフィールドを一度に更新することはできますか?

ドキュメントに記載されている例は次のとおりです。

db.UpdateOnly(new Person { FirstName = "JJ" }, p => p.FirstName);

複数のフィールドを含む式を提供できますか? もしそうなら、フィールドが異なるデータ型である可能性があることを考えると、使用するのに最適な演算子は何ですか?

4

1 に答える 1

5

例は次の質問で与えられました: ServiceStackOrmliteとRowVersionのサポート

使用する有効な式は匿名型です。この質問で説明されているように、暗黙のメンバー名を持つものでも:C#:匿名の型とプロパティ名

db.UpdateOnly(new Person { FirstName = "JJ", Age = 12 }, 
    (Person p) => new { p.FirstName, p.Age } );

私の例では、ラムダ引数の型を宣言したことに注意してください。これは厳密には必要ないかもしれませんが、それがないとMonoコンパイラエラーが発生していました。

Error CS0016: Could not write to file `***', cause: Type '<>__AnonType1`2' was not completed.
于 2013-03-22T20:24:09.513 に答える