Проблема с вложенными отношениями «один ко многим» в расширениях SQLite-Net: свойство LevelTwoModels возвращает значениеC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с вложенными отношениями «один ко многим» в расширениях SQLite-Net: свойство LevelTwoModels возвращает значение

Сообщение Anonymous »

Я работаю над иерархией модели, используя SQLite и расширения SQLite-Net. Структура модели состоит из трех уровней: RootModel, LevelOneModel и LevelTwoModel. Каждая модель содержит свойства, которые устанавливают отношения со следующим уровнем, а именно:
RootModel имеет связь «один ко многим» с LevelOneModel.
LevelOneModel имеет связь «один ко многим». связь с LevelTwoModel.
Вот моя реализация:
public class RootModel
{
[PrimaryKey, AutoIncrement]
public Guid Id { get; set; }

public string? Name { get; set; }

[OneToMany(CascadeOperations = CascadeOperation.All)]
public List LevelOneModels { get; set; }
}

public class LevelOneModel
{
[PrimaryKey, AutoIncrement]
public Guid Id { get; set; }

public string? Name { get; set; }

[ForeignKey(typeof(RootModel))]
public Guid RootModelId { get; set; }

[ManyToOne]
public RootModel RootModel { get; set; }

[OneToMany(CascadeOperations = CascadeOperation.All)]
public List LevelTwoModels { get; set; }
}

public class LevelTwoModel
{
[PrimaryKey, AutoIncrement]
public Guid Id { get; set; }

public string? Name { get; set; }

[ForeignKey(typeof(LevelOneModel))]
public Guid LevelOneModelId { get; set; }

[ManyToOne]
public LevelOneModel LevelOneModel { get; set; }
}

Я использую методы InsertWithChildren и GetWithChildren расширений SQLite-Net для манипулирования данными. Хотя отношения между RootModel и LevelOneModel работают должным образом, свойство LevelTwoModels в LevelOneModel всегда возвращает значение NULL при получении.
Что может быть причиной этой проблемы и как ее решить, чтобы обеспечить все связи правильно обрабатываются и извлекаются?
Все три таблицы созданы.
Для вставки:
await SqliteDataStore.Instance.Database.InsertWithChildrenAsync(Data);

Для получения:
return await SqliteDataStore.Instance.Database.GetAllWithChildrenAsync();


Подробнее здесь: https://stackoverflow.com/questions/792 ... leveltwomo
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • База данных комнат возвращает значение null с вложенными отношениями и левым соединением
    Anonymous » » в форуме Android
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • SQLDelight и классы данных с отношениями один-ко-многим в Котлине
    Anonymous » » в форуме Android
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • «SQLite.SQLiteException» в SQLite-net.dll и «SQLite.SQLiteException» в ошибке System.Private.CoreLib.dll в .net Maui, ко
    Anonymous » » в форуме C#
    0 Ответы
    58 Просмотры
    Последнее сообщение Anonymous
  • «SQLite.SQLiteException» в SQLite-net.dll и «SQLite.SQLiteException» в ошибке System.Private.CoreLib.dll в .net Maui, ко
    Anonymous » » в форуме C#
    0 Ответы
    62 Просмотры
    Последнее сообщение Anonymous
  • Laravel: ресурс с вложенными отношениями с самим собой
    Anonymous » » в форуме Php
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»