У меня есть проект Xamarin Forms, который использует SQLite. У меня есть родительский и дочерний модели с правильными параметрами Foreign Key, ManyToOne и Cascading в соответствующих полях.SQLite Async Connection missing WithChildren Methods
Я использую 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;
}
Нет проблемы до сих пор. Проблема, с которой я столкнулся, заключается в том, что я не вижу каскадных действий в этом соединении. Я добавил обычный SQLiteConnection
, который имел методы - WithChildren
, но мне нужно использовать соединение SQLiteAsyncConnection
.
У меня есть ссылки на SQLite.Net, SQLiteNetExtensions, SQLite.Net.Async и SQLitePCL.raw.
Почему я не вижу методы ~ WithChildren
в объекте асинхронного подключения?
@Daniel_Luberda Спасибо, я пытался понять, почему имеющие SQLiteNetExtensions не позволяют мне делать WithChildren звонков. Ваш ответ исправил это. Теперь мне просто нужно выяснить, почему вызовы WithChildren не возвращаются. – callisto
Нет проблем. Что ты имеешь в виду, что они не возвращаются? Я думаю, что это может быть связано с ConfigureAwait (false)), что означает, что вам не нужны последующие вызовы в том же контексте потока, но я уверен, что sqlite нуждается в том же контексте для соединения и его методов. –