예제 #1
0
        private void CreateCommonShema(MultiverseConfiguration conf, DbFacility database)
        {
            var connectionString = database.GetConnectionString(conf.ShardMapManagerServerName, conf.ShardMapManagerDatabaseName);
            var assembly         = typeof(DbFacility).Assembly;
            var resourceName     = "Slider.WorkDone.Data.InitializeCommon.sql";

            DbFacility.ExecuteSqlScript(connectionString, assembly.GetManifestResourceStream(resourceName)).Wait();
        }
예제 #2
0
 public SmmFacility(MultiverseConfiguration conf, DbFacility dbFacility)
 {
     if (conf == null)
     {
         throw new ArgumentNullException(nameof(conf));
     }
     this.conf = conf;
     dataBase  = dbFacility;
 }
예제 #3
0
 public ElasticScaleConnectionProvider(ShardMapManager smm, MultiverseConfiguration conf, DbFacility database)
 {
     if (smm == null)
     {
         throw new ArgumentNullException(nameof(smm));
     }
     if (conf == null)
     {
         throw new ArgumentNullException(nameof(conf));
     }
     if (database == null)
     {
         throw new ArgumentNullException(nameof(database));
     }
     this.smm      = smm;
     this.conf     = conf;
     this.database = database;
 }
예제 #4
0
        public async Task ItWorksOutsideOfUnitOfWork()
        {
            var contact    = new FacilityContact(null, null);
            var dbFacility = new DbFacility("myFacility", contact)
            {
                Id = SequentialGuid.Next(),
            };

            using (var db = new AppDataContext())
            {
                db.Facilities.Add(dbFacility);
                await db.SaveChangesAsync();
            }

            using (var db = new AppDataContext())
            {
                var dbFacility2 = await db.Facilities.SingleAsync();

                Assert.AreEqual(dbFacility.Name, dbFacility2.Name);
            }
        }
예제 #5
0
 public ElasticTenantsCommonConnectionProvider(ShardMapManager smm, MultiverseConfiguration conf, SmmFacility shards, DbFacility database)
 {
     if (smm == null)
     {
         throw new ArgumentNullException(nameof(smm));
     }
     if (shards == null)
     {
         throw new ArgumentNullException(nameof(shards));
     }
     if (database == null)
     {
         throw new ArgumentNullException(nameof(database));
     }
     if (conf == null)
     {
         throw new ArgumentNullException(nameof(conf));
     }
     connectionString = database.GetConnectionString(conf.ShardMapManagerServerName, conf.ShardMapManagerDatabaseName);
     this.smm         = smm;
     this.shards      = shards;
     this.database    = database;
     this.conf        = conf;
 }
예제 #6
0
 private static void CreateShardMapDbWhereNeeded(MultiverseConfiguration conf, DbFacility database)
 {
     if (!database.Exists(conf.ShardMapManagerServerName, conf.ShardMapManagerDatabaseName).Result)
     {
         var created = database.CreateDatabase(conf.ShardMapManagerServerName, conf.ShardMapManagerDatabaseName, waitIsOnLine: true).Result;
     }
 }