NPoco:使用表达式表示法更新一些(但不是全部)列

Ton*_*ony 4 c# orm lambda npoco

使用 NPoco,我试图弄清楚如何更新一个对象的多列(但不是全部)。这工作...

db.Update(item, new[] { "status", "tracking_number", "updated_at" });
Run Code Online (Sandbox Code Playgroud)

...但我正在尝试使用下面的符号,以便我可以使用对象的属性名称而不是数据库列名称。

int Update<T>(T poco, Expression<Func<T, object>> fields);
Run Code Online (Sandbox Code Playgroud)

如何使用上述语法列出多于一列?这将更新一列,但我假设我可以列出多个列,但我无法弄清楚符号。

db.Update(item, i => i.Status);
Run Code Online (Sandbox Code Playgroud)

Net*_*age 5

查看代码,您似乎使用了匿名对象:

x=> x.SomeProperty1 or x=> new{ x.SomeProperty1, x.SomeProperty2}
Run Code Online (Sandbox Code Playgroud)

所以在你的例子中:

db.Update(item, i => new { i.Status, i.TrackingNumber, i.UpdatedAt });
Run Code Online (Sandbox Code Playgroud)