https://www.nuget.org/packages/sqlite-net
此库中的Update方法如何将数据写入数据库?它会重写所有列还是只更新列?
答案 0 :(得分:1)
来自Update
上SQLite for Windows Phone 8.1
方法的文档,该文档与Windows运行时相同:
使用指定对象(主键除外)更新表的所有列。
执行的查询是从这行LINQ代码构建的:
var q = string.Format ("update \"{0}\" set {1} where {2} = ? ", map.TableName, string.Join (",", (from c in cols
select "\"" + c.Name + "\" = ? ").ToArray ()), pk.Name);
然后,SQL将更新列,无论值是否不同。
如果您只想更新已更改的列,则可以循环遍历所有列,将传入的值与相应的列进行比较,如果它们不同,则通过创建自己的查询语句来运行一些更新代码。 / p>