Я использую SQLiteNetExtensions для создания внешнего ключа из одной таблицы в другую, чтобы я мог удалить его каскадно.Я следовал за документацией: https://bitbucket.org/twincoders/sqlite-net-extensions,
, но когда я удаляю запись в моей Таблице миссий, записи в моей Таблице местоположений, которые ссылаются на то, что первичный ключ не удаляется,
утра.Я что-то пропустил?
Это мои таблицы:
using SQLiteNetExtensions.Attributes;
public class Locations
{
[PrimaryKey, AutoIncrement]
public int locationId { get; set; }
[ForeignKey(typeof(Missions))]
public int missionId { get; set; }
}
и:
using SQLiteNetExtensions.Attributes;
public class Missions
{
[PrimaryKey, AutoIncrement]
public int missionId { get; set; }
public String missionName { get; set; }
[OneToMany(CascadeOperations = CascadeOperation.CascadeDelete)]
public List<Locations> Locations { get; set; }
}
Также этот метод удаления используется для удаления записей из таблицы миссий:
public Task<int> DeleteMyMissionAsync(Missions myMission)
{
return database.DeleteAsync(myMission);
}
Есть ли способ проверить, что делают эти атрибуты из расширения SQLite?мой код компилируется и запускается, поэтому я не знаю, где ошибка.
Я попытался также добавить «использование SQLiteNetExtensionsAsync», но это не имело никакого значения.
РЕДАКТИРОВАТЬ: изменил мойудалить метод для:
public Task DeleteMyMissionAsync(Models.MyCreatedMissions myMission)
{
return database.DeleteAsync(myMission, recursive: true);
}
он запускается, но когда я удаляю запись в таблице миссий, на которую ссылается моя таблица Locations, он удаляет только эту запись и все записи в таблице Locations, которые ссылаются на эту запись, все еще существуют.
есть идеи?