4

是否可以使用 OrmLite 扩展方法UpdateOnly一次更新多个字段?

文档中给出的示例是:

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

我可以提供一个包含多个字段的表达式吗?如果是这样,鉴于字段可能是不同的数据类型,最好使用什么运算符。

4

1 回答 1

5

以下问题中给出了一个示例: ServiceStack Ormlite and RowVersion support

要使用的有效表达式是匿名类型;甚至一个具有隐式成员名称的问题,如以下问题所述:C#: Anonymous types and property names

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

请注意,在我的示例中,我声明了 lambda 参数的类型。这可能不是绝对必要的,但是没有它我会得到一个 Mono 编译器错误。

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