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

时间:2017-05-17 17:20:32

标签: c# lambda orm npoco

使用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);

1 个答案:

答案 0 :(得分:4)

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

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

所以在你的例子中:

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