【发布时间】:2018-01-08 12:26:46
【问题描述】:
我有一个远程 Web 服务,它返回两个 int 值,即:
- 频率
- 保存
我有一个定义为Parameters 的模型,如下所示:
public class Parameters
{
public int Frequency { get; set; }
public int Conserve { get; set; }
}
每次启动应用程序时,都会调用 Web 服务以获取值。在应用程序第一次启动时,这些值被保存到一个 sqlite 数据库中。
随后,每次启动应用程序后,都会调用 Web 服务以获取值。每次将值保存到 sqlite db。
做的方法是:
public async Task InsertParams()
{
await con.CreateTableAsync<Parameters>();
ParamService ps = new ParamService();
Parameters pm = new Parameters();
pm = await ps.GetParams(); // call to webservice
await con.InsertOrReplaceAsync(pm);
}
问题是,如果最初在 web 服务上频率的值是 30,它会将其插入到数据库中。但是当值更改为50 时,它不会覆盖sqlite db 中的行。
我只想要 sqlite db 中应该覆盖 /replace 的单行。请告知我该如何实现这一目标。谢谢。
【问题讨论】:
-
它如何知道要更新哪一行?