具有多个字段的OrmLite UpdateOnly示例

时间:2013-03-22 19:46:46

标签: servicestack ormlite-servicestack

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

文档中给出的示例是:

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

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

1 个答案:

答案 0 :(得分:4)

以下问题给出了一个例子: 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.