【发布时间】:2017-09-13 22:25:18
【问题描述】:
我可以调用两种类型的构造函数来初始化 Sqlite 连接。我知道 SQLiteAsyncConnection 是在执行 sql 语句时创建一个异步方法,而 SQLiteConnection 是用于普通方法。
如果我有如下方法:
public object InsertVeggie(string name)
{
lock (locker) {
var sql = "Some query ?";
var result = database.Query<Model>(sql, name);
return result;
}
}
如果我有异步方法:
public async Task<Model> GetModel (string name)
{
var data = InsertVeggie(name);
await ProcessVeggie(data);
return data;
}
调用方法:
Task.Run (async () =>
{
var result1 = await GetModel("124");
});
Task.Run (async () =>
{
var result2 = await GetModel("335");
});
如果我使用 SQLiteConnection 而不是 SQLiteAsyncConnection,是否会出现问题或必须将 InsertVeggie 更改为 Async 方法。
【问题讨论】:
-
你的意思是,'如果我使用 SQLiteAsyncConnection 而不是 SQLiteConnection'?
-
部分是的...因为我用于访问数据库的代码没有标记为异步,但在其他调用该方法的方法中可能是异步任务。
标签: sqlite asynchronous xamarin portable-class-library