Xamarin.Forms SQLiteExtensions отношение "многие-ко-многим" не извлекается - PullRequest
0 голосов
/ 09 июля 2020

У меня проблема с получением отношений "многие ко многим". У меня есть следующая структура:

public class Story {
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }
    public string Name { get; set; }
    // foreground
    [ManyToMany(typeof(StoryForeground), "StoryId", "Stories", CascadeOperations = CascadeOperation.All)]
    public List<ForegroundStored> Foregrounds { get; set; }
}

public class StoryForeground
{
    public int ForegroundStoredId { get; set; }
    public int StoryId { get; set; }
}

public class ForegroundStored
{
    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }

    [ManyToMany(typeof(StoryForeground), "ForegroundStoredId", "Foregrounds", CascadeOperations = CascadeOperation.CascadeRead, ReadOnly = true)]
    public List<Story> Stories { get; set; }
}

Для хранения я использую SQLiteExtensions,

var conn = await GetDatabaseConnection<Story>().ConfigureAwait(false);
await conn.InsertWithChildrenAsync(story).ConfigureAwait(false);

Для извлечения

var conn = await GetDatabaseConnection<Story>().ConfigureAwait(false);
            return await AttemptAndRetry(async () => await conn.GetAllWithChildrenAsync<Story>(recursive: true).ConfigureAwait(false));

Когда я сохраняю, я вижу таблицы Story, ForegroundStored и StoryForeground имеют соответствующие значения в базе данных SQLite. Однако, когда я получаю список историй, мой параметр Foregrounds в классе истории имеет значение null.

Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...