J'ai trois modèles (tableaux) dans SQLite comme suit:opération de suppression en référence clé étrangère dans Xamarin sqlite forme
public class Program
{
[PrimaryKey, AutoIncrement]
public int ProgramId { get; set; }
public string Name { get; set; }
}
public class Training
{
[PrimaryKey, AutoIncrement]
public int TrainingId { get; set; }
[ForeignKey(typeof(Program))]
public int ProgramId { get; set; }
}
public class Instructor
{
[PrimaryKey, AutoIncrement]
public int InstructorId { get; set; }
[ForeignKey(typeof(Program))]
public int ProgramId { get; set; }
}
J'ai deux clés étrangères ProgramId
dans la formation et la table d'instructeur référençant la clé primaire ProgramId
dans Table de programme. Je veux faire une opération de suppression dans le programme de la table où le ProgramId
== 1 et je veux que cette opération de suppression soit affectée dans les deux tables correspondantes Training and Instructor
aussi bien. Comment puis-je y parvenir en sqlite en utilisant des formes xamarin?
Veuillez nous aviser. Je vous remercie.
Pourquoi 'Training []' et 'Instructor []'? et si j'utilise 'var prog = con.GetWithChildren (ProgramId); con.Delete (prog, true); ', supprimera-t-il également les enregistrements des deux autres tables? –
jones
1 - Cette notation est requise pour définir les opérations en cascade sur le package SQLite-net-extensions. S'il vous plaît lire la documentation mentionnée sur le lien que j'ai posté dans la réponse à plus d'informations sur ses notations et fonctionnalités; 2 - Si vous n'utilisez pas la notation et faites le changement que j'ai suggéré, rien ne changera pour vous. La partie 'Children' sur le nom de la méthode est déduite de ces attributs sur les propriétés' Trainings' et 'Instructors'. –