https://www.nuget.org/packages/sqlite-net
这个库的 Update 方法如何将数据写入数据库?它会重写所有列还是只更新列?
最佳答案
来自 Windows Phone 8.1 的 SQLite
上的 Update
方法的文档,它与 Windows 运行时相同:
Updates all of the columns of a table using the specified object except for its primary key.
执行的查询是从这行 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 都会更新列。
如果您只想更新更改的列,您可以遍历所有列,比较传递给适当列的值,如果它们不同,则通过创建您自己的查询语句来运行一些更新代码。
关于c# - sqlite-net 更新方法如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31624854/