Область «Невозможно изменить управляемые объекты вне транзакции записи». при изменении внутри транзакции записи - PullRequest
0 голосов
/ 08 февраля 2020

У меня есть коллекция объектов Realm, и я хочу изменить для них одно свойство bool. Я открываю транзакцию, а затем перебираю элементы и изменяю это свойство. Я продолжаю получать сообщение «Невозможно изменить управляемые объекты вне транзакции записи». когда я наиболее вызывающе модифицирую их внутри транзакции. Что я делаю неправильно?

    private async Task SyncPlayersToTeams()
    {
        try
        {
            var collection = await GetNonSynchronizedPlayersToTeams().ConfigureAwait(false);

            var list = new List<PlayerToTeamAssociationParse>();
            foreach (var item in collection)
            {
                list.Add(item.Convert());
            }

            await ParseObject.SaveAllAsync<PlayerToTeamAssociationParse>(list);

            var realm = Realm.GetInstance();
            using (var trans = realm.BeginWrite())
            {
                foreach (var item in collection)
                {
                    item.IsSynced = true;
                }

                trans.Commit();
            }
        }
        catch (Exception ex)
        {
            //LogError(ex);
            System.Diagnostics.Debug.WriteLine(ex);
        }
    }

   public class PlayerToTeamAssociationRealm : RealmObject
   {
    public PlayerToTeamAssociationRealm()
    {
        Id = Guid.NewGuid().ToString();
    }

    [PrimaryKey]
    public string Id { get; set; }
    public string ParseObjectId { get; set; }
    public bool IsSynced { get; set; }

    public string PlayerId { get; set; }
    public string TeamId { get; set; }

    //public IList<TeamDetailRealm> Teams { get; }

    public PlayerToTeamAssociationParse ToWebModel()
    {
        return this.Convert();
    }
}

enter image description here enter image description here

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