Я создаю мобильное приложение в xamarin, которое имеет много связей между классами.Для простоты рассмотрим, что это «университетское» приложение, в котором есть классы: ExamPapers, Students, ExamAnswers.
Класс ExamPaper будет выглядеть следующим образом
public class ExamPapers {
[ManyToMany(typeof(Student_ExamPaper))]
public List<Student> Students { get; set; }
[OneToMany]
public List<ExamAnswers> Files { get; set; }
[OneToMany(CascadeOperations = CascadeOperation.All)]
public List<ExamSection> Sections { get; set; }
public string ExamName { get; set; }
[PrimaryKey]
public string Id { get; set; }
}
Так что на данный момент любой sqlitenetextensionоперация (те, которые заканчиваются на «WithChildren») будет взаимодействовать со всеми отношениями, когда я часто просто хочу взаимодействовать с одним за раз.Вот несколько примеров сценариев:
Студент "Лана" только что получил доступ к экзаменационной статье "Математика 101".Теперь, чтобы предоставить ей доступ, мне нужно загрузить;все остальные студенты с доступом, все файлы для экзамена, все разделы.В противном случае эти отношения удаляются, когда я вызываю «InsertOrReplaceWithChildren».
Я хочу выяснить первый вопрос в ExamPaper.Я называю «GetWithChildren (examId)».Теперь у меня есть объект с большим количеством информации, которую я не хочу (например, 300 студентов и 300 экзаменационных ответов).
Извините, если я пропустил что-то релевантное в документации, но япрочитайте это через пару раз сейчас.https://bitbucket.org/twincoders/sqlite-net-extensions
Спасибо.