Я использую DynamicData в своем приложении MAUI. Я получаю следующее исключение при обновлении элементов SourceCache. Кто-нибудь знает, почему возникает это исключение? Я использую функции GroupBy и TransformMany.
Я использую DynamicData в своем приложении MAUI. Я получаю следующее исключение при обновлении элементов SourceCache. Кто-нибудь знает, почему возникает это исключение? Я использую функции GroupBy и TransformMany. [code]mono-rt] [ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentException: Cannot find index of original item. Either it does not exist in the list or the hashcode has mutated [mono-rt] at DynamicData.ListEx.Replace[PlaceItem](IList`1 source, PlaceItem original, PlaceItem replaceWith) in /_/src/DynamicData/List/ListEx.cs:line 378 [mono-rt] at DynamicData.Binding.ObservableCollectionAdaptor`2[[Iratrips.Itineraries.ItemViewModels.PlaceItem, Iratrips.Maui, Version=3.5.702.0, Culture=neutral, PublicKeyToken=null],[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DoUpdate(IChangeSet`2 changes, IObservableCollection`1 list) in /_/src/DynamicData/Binding/ObservableCollectionAdaptor.cs:line 154 [mono-rt] at DynamicData.Binding.ObservableCollectionAdaptor`2[[Iratrips.Itineraries.ItemViewModels.PlaceItem, Iratrips.Maui, Version=3.5.702.0, Culture=neutral, PublicKeyToken=null],[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Adapt(IChangeSet`2 changes, IObservableCollection`1 collection) in /_/src/DynamicData/Binding/ObservableCollectionAdaptor.cs:line 130 [mono-rt] at DynamicData.ObservableCacheEx.c__DisplayClass28_0`2[[Iratrips.Itineraries.ItemViewModels.PlaceItem, Iratrips.Maui, Version=3.5.702.0, Culture=neutral, PublicKeyToken=null],[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].b__1(IChangeSet`2 changes) in /_/src/DynamicData/Cache/ObservableCacheEx.cs:line 582 [mono-rt] at System.Reactive.Linq.ObservableImpl.Select`2.Selector._[[DynamicData.IChangeSet`2[[Iratrips.Itineraries.ItemViewModels.PlaceItem, Iratrips.Maui, Version=3.5.702.0, Culture=neutral, PublicKeyToken=null],[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], DynamicData, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null],[DynamicData.IChangeSet`2[[Iratrips.Itineraries.ItemViewModels.PlaceItem, Iratrips.Maui, Version=3.5.702.0, Culture=neutral, PublicKeyToken=null],[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], DynamicData, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null]].OnNext(IChangeSet`2 value) [mono-rt] --- End of stack trace from previous location --- [mono-rt] at System.Reactive.PlatformServices.ExceptionServicesImpl.Rethrow(Exception exception) [mono-rt] at System.Reactive.ExceptionHelpers.Throw(Exception exception) [mono-rt] at System.Reactive.Stubs.c.b__2_1(Exception ex) [mono-rt] at System.Reactive.AnonymousObserver`1[[DynamicData.IChangeSet`2[[Iratrips.Itineraries.ItemViewModels.PlaceItem, Iratrips.Maui, Version=3.5.702.0, Culture=neutral, PublicKeyToken=null],[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], DynamicData, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null]].OnErrorCore(Exception error) [/code] [code]public class Sample { public void Configure() { var connection = _placeCache.Connect();
//Places var PlacesObservable = connection .Sort(SortExpressionComparer.Ascending(k => k.Sequence)) .Filter(k => { //Few conditions here return true; }) .TransformAsync(async (place) => { //Some code here which creates PlaceItem using async. return (BasePlaceItem)item; }) .Group(k => k.Date.Date) .TransformMany(k => { //Date Header
//ID PlaceItem item = new PlaceDateItem(k.Key, GuidUtil.GenerateGuid(k.Key.ToString(CultureInfo.InvariantCulture)), this); var obs = new ObservableCollection() { item }; var osbSet = obs.ToObservableChangeSet(m => m.Id);
//Gaps var gapObservable = k.Cache .Connect() .Transform(m => { var item = ((PlaceItem)m); //ID var id = GuidUtil.GenerateGuid(item.PlaceId + "nxt"); var gap = new PlaceGapItem(id, this); return (PlaceItem)gap;
//I think error comes here in this observable.
}, transformOnRefresh: true);
var groupObservable = k.Cache .Connect();
var disposable = groupObservable .Merge(osbSet) .Merge(gapObservable) .Bind(out var items) .Subscribe();
Disposables.Add(disposable);
return items;
}, x => x.Id) .Merge(footerbSet) .Sort(SortExpressionComparer.Ascending(item => item.Date));
var disposable = PlacesObservable .ObserveOn(MainThread.AppContext) .Bind(PlaceItems) .Subscribe(); } } [/code] [code]_placeCache[/code] обновляется в фоновом режиме при изменении местоположения пользователя. Если я закомментирую наблюдаемый пробел, код будет работать.
В настоящий момент я пытаюсь присвоить новое значение одному из дочерних элементов Canvas в wpf, и он выдает вышеприведенное исключение. У меня есть следующий код, который, как мне кажется, имеет отношение к делу:
var val = comps .GetComponent();...
Я новичок в MVC и изучаю его с помощью онлайн-уроков. В своем коде я просто получаю данные из базы данных, используя структуру сущностей. Я добавил атрибут в модель, но все равно столкнулся с этой ошибкой исключения. Что еще мне нужно сделать, чтобы...