Код: Выделить всё
LockerEntryКод: Выделить всё
DbEntryМое приложение области (созданное из панели управления Web Mongo) имеет режим разработчика, потому что я хочу, чтобы схема и коллекция баз данных были создано на основе моей модели данных.
Я обнаружил, что при запуске моего приложения .net maui коллекция и схема DbEntry создаются нормально (фактически, это нежелательно, но я уже понял, что аннотирование класса атрибутом Realms.Ignored предотвратит это), тогда как LockerEntry и LockerItemEntry нет, и инициализация области выдает ошибку, говорящую: «Класс LockerEntry не входит в ограниченный набор классов для этой области (параметр «T»)»
Здесь фрагмент LockerEntry (один из двух синхронизируемых классов) и DbEntry (родительский класс):
Код: Выделить всё
public class LockerEntry : DbEntry
{
public string? Name { get; set; }
public override void FromPersisted(object persistedObject)
{
Locker locker = (Locker)persistedObject;
Id = locker.Id;
Name = EncryptionHelper.EncryptString(DependencyHelper.DataModel.PassKey, locker.Name);
}
}
Код: Выделить всё
public abstract class DbEntry : RealmObject, IDbEntry
{
[PrimaryKey]
[SQLitePrimaryKey]
[MapTo("_id")]
public Guid Id { get; set; }
public abstract void FromPersisted(object persistedObject);
}
Код: Выделить всё
public async Task InitRealmAsync()
{
RealmsApp realmsApp = RealmsApp.Create(new AppConfiguration("")
{
BaseFilePath = DirectoryHelper.DBFolder
});
await realmsApp.LogInAsync(Credentials.ApiKey(""));
FlexibleSyncConfiguration config = new(realmsApp.CurrentUser ?? throw new ArgumentNullException())
{
PopulateInitialSubscriptions = (realm) =>
{
var lockerEntries = realm.All();
var lockerItemEntries = realm.All();
realm.Subscriptions.Add(lockerEntries);
realm.Subscriptions.Add(lockerItemEntries);
}
};
realm = await Realm.GetInstanceAsync(config);
var lockerEntries = realm.All();
var lockerItemEntries = realm.All();
}
Можете ли вы дать несколько предложений?
Обсуждаем заранее.
Подробнее здесь: https://stackoverflow.com/questions/785 ... ance-error