예제 #1
0
        private void bt_Salvar_Clicked(object obj)
        {
            string msg;

            _realm = Realm.GetInstance();

            using (var transaction = _realm.BeginWrite())
            {
                var cliente = _realm.CreateObject <Cliente>();
                cliente.Nome   = TxtNome;
                cliente.Cidade = TxtCidade;

                transaction.Commit();
            }

            msg = "Temos : " + _realm.All <Cliente>().Count() + " Clientes";

            _realm.Close();

            _controle.Message(msg);
        }
예제 #2
0
        public void GetUniqueInstancesDifferentThreads()
        {
            // Arrange
            var   realm1 = Realm.GetInstance();
            Realm realm2 = realm1;  // should be reassigned by other thread

            // Act
            var t = new Thread(() =>
            {
                realm2 = Realm.GetInstance();
            });

            t.Start();
            t.Join();

            // Assert
            Assert.False(GC.ReferenceEquals(realm1, realm2));
            Assert.False(realm1.IsSameInstance(realm2));
            Assert.That(realm1, Is.EqualTo(realm2));  // equal and same Realm but not same instance

            realm1.Close();
            realm2.Close();
        }
        public void TriggerMigrationBySchemaVersion()
        {
            // Arrange
            var config1 = new RealmConfiguration("ChangingVersion.realm");

            Realm.DeleteRealm(config1);  // ensure start clean
            var realm1 = Realm.GetInstance(config1);

            // new database doesn't push back a version number
            Assert.That(config1.SchemaVersion, Is.EqualTo(RealmConfiguration.NotVersioned));
            realm1.Close();

            // Act
            var config2 = config1.ConfigWithPath("ChangingVersion.realm");

            config2.SchemaVersion = 99;
            Realm realm2 = null;  // should be updated by DoesNotThrow

            // Assert
            Assert.DoesNotThrow(() => realm2 = Realm.GetInstance(config2));   // same path, different version, should auto-migrate quietly
            Assert.That(realm2.Config.SchemaVersion, Is.EqualTo(99));
            realm2.Close();
        }
예제 #4
0
 public void TearDown()
 {
     _realm.Close();
     Realm.DeleteRealm(_realm.Config);
 }