我有一个使用 SQLite 的 Xamarin Forms 项目。我有一个父子模型,在相关字段上具有正确的外键、多对一和级联选项。
我一直在我的数据库方法中 使用 Scott Hanselman 的 AsyncLock 类( http://www.hanselman.com/blog/ComparingTwoTechniquesInNETAsynchronousCoordinationPrimitives.aspx ),如下所示:
public async Task<List<Client>> GetAllAsync()
{
List<Client> clients = new List<Client>();
using (await SQLiteBase.Mutex.LockAsync().ConfigureAwait(false))
{
//SQLiteAsyncConnection _connection is set up elsewhere...
clients = await _sqLiteBase._connection.Table<Client>().ToListAsync().ConfigureAwait(false);
}
return clients;
}
到目前为止没有问题。我面临的问题是我看不到此连接上的级联操作。我添加了一个 normal SQLiteConnection
,它有 -WithChildren
方法,但我需要使用SQLiteAsyncConnection
连接。
我参考了 SQLite.Net、SQLiteNetExtensions、SQLite.Net.Async 和 SQLitePCL.raw。
为什么我WithChildren
在异步连接对象上看不到 ~ 方法?