【问题标题】:How does sqlite-net update method work?sqlite-net 更新方法是如何工作的?
【发布时间】:2015-07-25 09:07:27
【问题描述】:

https://www.nuget.org/packages/sqlite-net

该库中的 Update 方法如何将数据写入数据库?它会重写所有列还是仅更新列?

【问题讨论】:

    标签: c# sqlite orm windows-runtime sqlite-net


    【解决方案1】:

    来自SQLite for Windows Phone 8.1 上的Update 方法的文档,该方法与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 都会更新列。

    如果您只想更新更改的列,您可以遍历所有列,比较传入到相应列的值,如果它们不同,则通过创建自己的查询语句运行一些更新代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      • 2014-02-12
      • 2017-06-28
      • 1970-01-01
      • 2012-04-06
      • 2015-03-20
      相关资源
      最近更新 更多