SqliteNetExtensions можно ли игнорировать указанный дочерний элемент при вызове InsertOrReplaceWithChildren ()? - PullRequest
0 голосов
/ 12 декабря 2018

Я создаю мобильное приложение в 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») будет взаимодействовать со всеми отношениями, когда я часто просто хочу взаимодействовать с одним за раз.Вот несколько примеров сценариев:

  1. Студент "Лана" только что получил доступ к экзаменационной статье "Математика 101".Теперь, чтобы предоставить ей доступ, мне нужно загрузить;все остальные студенты с доступом, все файлы для экзамена, все разделы.В противном случае эти отношения удаляются, когда я вызываю «InsertOrReplaceWithChildren».

  2. Я хочу выяснить первый вопрос в ExamPaper.Я называю «GetWithChildren (examId)».Теперь у меня есть объект с большим количеством информации, которую я не хочу (например, 300 студентов и 300 экзаменационных ответов).

Извините, если я пропустил что-то релевантное в документации, но япрочитайте это через пару раз сейчас.https://bitbucket.org/twincoders/sqlite-net-extensions

Спасибо.

...