Проблема с загрузкой коллекции из файла данных - PullRequest
0 голосов
/ 22 января 2019

Я застрял с проблемой при загрузке моей наблюдаемой коллекции из базы данных области. Я создал функцию, в которой я создаю этот список, и каждый раз, когда список является нулевым, он создает новый, моя проблема заключается в том, как установить для чтения один раз созданный список из базы данных с использованием области? Буду очень признателен за любую помощь, которая поможет мне справиться с этой задачей :) Заранее спасибо за потраченное время :)

Код ListViewModel:

public PeopleListViewModel(INavigation navigation)
    {
        this.Navigation = navigation;
        realmDb = Realm.GetInstance();
        LoadDb();
    }
    private void LoadDb()
    {
        var _realmDb = Realm.GetInstance();
        Debug.WriteLine("Reading wastes collection");
        PeopleCOllection = _realmDb.All<Person>() as ObservableCollection<Person>;
        if (PersonCollection == null)
        {
            Debug.WriteLine("Collection Empty");
            CreatePeopleList();
        }
        SaveDb();
    }

    private void SaveDb()
    {
        var _realm = Realm.GetInstance();
        _realm.Write(() =>
        {
            foreach (var person in PeopleCollection)
            {
                _realm.Add(person);
                Debug.WriteLine("Person saved into collection!");
            }

        });
    }

1 Ответ

0 голосов
/ 22 января 2019

Проблема в том, что вы не должны делать это приведение:

PeopleCOllection = _realmDb.All<Person>() as ObservableCollection<Person>;

Чтобы создать наблюдаемую коллекцию из ваших результатов в БД, вы должны сделать что-то вроде этого:

PeopleCOllection = new ObservableCollection<Person>(_realmDb.All<Person>().ToList());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...