gpt4 book ai didi

c# - SQLite 记录是如何更新的?

转载 作者:行者123 更新时间:2023-11-30 16:20:38 27 4
gpt4 key购买 nike

接受此代码的语法:

public async Task UpdateLocationAsync(SOs_Locations locations)
{
var db = new SQLiteAsyncConnection(SQLitePath);
await db.UpdateAsync(locations);
}

...但我不理解 SQLite 引擎如何在简单地传递类实例时知道要更新哪条记录。是否是 SQLite 或 SQLite-net 引擎查看 ID 值并在幕后执行(SQLese):

UPDATE SOs_Locations
Set Bla = Bla, etc.
WHERE ID = locations.Id

?

最佳答案

这正是它的作用。方法来源可以查看here :

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:

db.ExecuteAsync("UPDATE SOs_Locations Set Bla = ?, WHERE ID = ?", bla, id);

关于c# - SQLite 记录是如何更新的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14007891/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com