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

NPoco: Update some (but not all) columns using Expression notation

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

db.Update(item, new[] { "status", "tracking_number", "updated_at" });

...但我正在尝试使用下面的表示法,因此我可以使用对象的 属性 名称而不是数据库列名称。

int Update<T>(T poco, Expression<Func<T, object>> fields);

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

db.Update(item, i => i.Status);

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

x => x.SomeProperty1 or x => new{ x.SomeProperty1, x.SomeProperty2}

所以在你的例子中:

db.Update(item, i => new { i.Status, i.TrackingNumber, i.UpdatedAt });