Ejemplo n.º 1
0
 public void LocalDbConnectionFactory_uses_Initial_Catalog_set_by_factory_even_if_set_in_base_connection_string()
 {
     using (var connection = new LocalDbConnectionFactory("v99", "Initial Catalog=YourDatabase").CreateConnection("MyDatabase"))
     {
         Assert.Equal("MyDatabase", connection.Database);
     }
 }
Ejemplo n.º 2
0
 public void LocalDbConnectionFactory_uses_Data_Source_set_in_base_connection_string_if_set()
 {
     using (var connection = new LocalDbConnectionFactory("v99", "Data Source=NotLocalDb").CreateConnection("MyDatabase"))
     {
         Assert.Equal("NotLocalDb", connection.DataSource);
     }
 }
        public static void CreateInMemoryConnectionFactory()
        {
            var mdfPath = $"{Path.GetTempFileName()}.mdf";

            File.WriteAllBytes(mdfPath, Resources.EDDSPerformance);

            foreach (var dataSource in dataSources)
            {
                var connFactory = new LocalDbConnectionFactory(dataSource, mdfPath, databaseSuffix);
                if (connFactory.TestDataSource())
                {
                    _ConnectionFactory = connFactory;
                    break;
                }
                _ConnectionFactory = null;
            }
            if (_ConnectionFactory == null)
            {
                throw new Exception("Could not create in memory database");
            }

            RunDeployScript(Resources.eddsperf);
            RunDeployScript(Resources.EddsPerformanceExtra);
            RunDeployScript(Resources.EddsDependentModifiedSprocs);
            sprocsToDeploy.ForEach(RunDeployScript);
            testingTables.ForEach(RunDeployScript);
        }
Ejemplo n.º 4
0
 public void LocalDbConnectionFactory_just_uses_full_connection_string_if_given_one()
 {
     using (var connection = new LocalDbConnectionFactory("v99").CreateConnection("Database=AndBingoWasHisNameo"))
     {
         Assert.Equal("Database=AndBingoWasHisNameo", connection.ConnectionString);
     }
 }
        public void ShouldPerformMutlipleQueriesWhenRequested()
        {
            using (var context = new TestDbContext())
            {
                context.Set <OneToOneOneToOneAssociatedModel>().Add(_oneToOneAssociated);
                context.Set <OneToOneOneToManyAssociatedModel>().Add(_oneToManyAssociated);
                context.Nodes.Add(_node);
                context.SaveChanges();
            }

            var x          = new LocalDbConnectionFactory("v11.0");
            var connection = x.CreateConnection("GraphDiff");

            using (var context = new TestDbContext(connection))
            {
                // Setup mapping
                context.UpdateGraph(
                    entity: _node,
                    mapping: map => map.OwnedEntity(p => p.OneToOneOwned, with => with
                                                    .OwnedEntity(p => p.OneToOneOneToOneOwned)
                                                    .AssociatedEntity(p => p.OneToOneOneToOneAssociated)
                                                    .OwnedCollection(p => p.OneToOneOneToManyOwned)
                                                    .AssociatedCollection(p => p.OneToOneOneToManyAssociated)),
                    updateParams: new UpdateParams {
                    QueryMode = QueryMode.MultipleQuery
                });
            }

            // TODO how do I test number of queries..
        }
Ejemplo n.º 6
0
 public void LocalDbConnectionFactory_creates_a_LocalDb_connection_from_a_database_name()
 {
     using (var connection = new LocalDbConnectionFactory("v99").CreateConnection("MyDatabase"))
     {
         Assert.Equal(@"(localdb)\v99", connection.DataSource);
         Assert.Equal(@"MyDatabase", connection.Database);
     }
 }
Ejemplo n.º 7
0
 public void LocalDbConnectionFactory_does_not_set_AttachDbFileName_if_DataDirectory_is_not_set()
 {
     WithDataDirectory(
         null,
         () =>
     {
         using (var connection = new LocalDbConnectionFactory("v99").CreateConnection("MyDatabase"))
         {
             Assert.Equal(
                 @"Data Source=(localdb)\v99;Initial Catalog=MyDatabase;Integrated Security=True;MultipleActiveResultSets=True",
                 connection.ConnectionString);
         }
     });
 }
Ejemplo n.º 8
0
 public void LocalDbConnectionFactory_uses_database_name_as_mdf_filename_if_DataDirectory_is_set()
 {
     WithDataDirectory(
         @"C:\Some\Data\Directory",
         () =>
     {
         using (var connection = new LocalDbConnectionFactory("v99").CreateConnection("MyDatabase"))
         {
             Assert.Equal(
                 @"Data Source=(localdb)\v99;AttachDbFilename=|DataDirectory|MyDatabase.mdf;Initial Catalog=MyDatabase;Integrated Security=True;MultipleActiveResultSets=True",
                 connection.ConnectionString);
         }
     });
 }
Ejemplo n.º 9
0
 public void LocalDbConnectionFactory_creates_a_LocalDb_connection_from_a_database_name_using_given_base_connection_string()
 {
     WithDataDirectory(
         null,
         () =>
     {
         using (
             var connection = new LocalDbConnectionFactory("v99", "Integrated Security=True").CreateConnection("MyDatabase"))
         {
             Assert.Equal(
                 @"Data Source=(localdb)\v99;Initial Catalog=MyDatabase;Integrated Security=True",
                 connection.ConnectionString);
         }
     });
 }
Ejemplo n.º 10
0
 LocalDbConnectionFactory_creates_a_LocalDb_connection_with_AttachDbFileName_from_a_database_name_using_given_base_connection_string_if_DataDirectory_is_set
     ()
 {
     WithDataDirectory(
         @"C:\Some\Data\Directory",
         () =>
     {
         using (
             var connection = new LocalDbConnectionFactory("v99", "Integrated Security=True").CreateConnection("MyDatabase"))
         {
             Assert.Equal(
                 @"Data Source=(localdb)\v99;AttachDbFilename=|DataDirectory|MyDatabase.mdf;Initial Catalog=MyDatabase;Integrated Security=True",
                 connection.ConnectionString);
         }
     });
 }
Ejemplo n.º 11
0
        private static readonly Dictionary <string, DbCompiledModel> _compiledModels = new Dictionary <string, DbCompiledModel>(); // Farklı diller için oluşturulan DbCompiledModel'lerin tutulacağı dictionary

        static CompiledModels()
        {
            // Connection ve DbModelBuilder hazırlanıyor.
            var connectionFactory = new LocalDbConnectionFactory("DynamicMappingContext");
            var connection        = connectionFactory.CreateConnection("DynamicMappingContext");
            var builder           = new DbModelBuilder(DbModelBuilderVersion.V4_1);

            builder.Configurations.Add(new EntityTypeConfiguration <PersonBase>());

            // Türkçe için DbCompiledModel hazırlanıyor ve dictionary'ye ekleniyor.
            builder.Entity <Person>().ToTable("Person_TR");
            _compiledModels.Add("TR", builder.Build(connection).Compile());

            // İngilizce için DbCompiledModel hazırlanıyor ve dictionary'ye ekleniyor.
            builder.Entity <Person>().ToTable("Person_EN");
            _compiledModels.Add("EN", builder.Build(connection).Compile());
        }
Ejemplo n.º 12
0
 public void LocalDbConnectionFactory_uses_AttachDbFilename_set_by_factory_even_if_set_in_base_connection_string()
 {
     WithDataDirectory(
         @"C:\Some\Data\Directory",
         () =>
     {
         using (var connection = new LocalDbConnectionFactory("v99", "AttachDbFilename=|DataDirectory|ADifferent.mdf;")
                                 .CreateConnection("MyDatabase"))
         {
             Assert.Equal(
                 "|DataDirectory|MyDatabase.mdf",
                 new DbConnectionStringBuilder
             {
                 ConnectionString = connection.ConnectionString
             }["AttachDbFilename"]);
         }
     });
 }
Ejemplo n.º 13
0
        public void Wipe_And_Create_Database()
        {
            var localDb          = new LocalDbConnectionFactory("MSSQLLocalDB");
            var connectionString = localDb.CreateConnection("CodeGolf.Sql.CodeGolfDbContext").ConnectionString;

            // drop database first
            ReallyDropDatabase(connectionString);

            // Now time to create the database from migrations
            // MyApp.Data.Migrations.Configuration is migration configuration class
            // this class is crated for you automatically when you enable migrations
            var initializer = new MigrateDatabaseToLatestVersion <CodeGolfDbContext, Migrations.Configuration>();

            // set DB initialiser to execute migrations
            Database.SetInitializer(initializer);

            // now actually force the initialisation to happen
            using (var domainContext = new CodeGolfDbContext(connectionString))
            {
                Console.WriteLine("Starting creating database");
                domainContext.Database.Initialize(true);
                Console.WriteLine("Database is created");
            }
        }
Ejemplo n.º 14
0
        public TestDbConfiguration()
        {
            var localDbConnectionFactory = new LocalDbConnectionFactory("v11.0");

            SetDefaultConnectionFactory(localDbConnectionFactory);
        }