是否可以使用OrmLite扩展方法 UpdateOnly 一次更新多个字段?
文档中给出的示例是:
db.UpdateOnly(new Person { FirstName = "JJ" }, p => p.FirstName);
我可以提供包含多个字段的表达式吗?如果是这样,那么最好的运算符是什么,因为字段可能是不同的数据类型。
答案 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.