コード例 #1
0
        public static void InitializeModelFirstDatabases(bool runInitializers = true)
        {
            const string prefix = "System.Data.Entity.TestModels.TemplateModels.Schemas.";
            ResourceUtilities.CopyEmbeddedResourcesToCurrentDir(
                typeof(TemplateTests).Assembly(),
                prefix,
                /*overwrite*/ true,
                "AdvancedPatterns.edmx",
                "MonsterModel.csdl",
                "MonsterModel.msl",
                "MonsterModel.ssdl");

            // Extract the csdl, msl, and ssdl from the edmx so that they can be referenced in the connection string.
            ModelHelpers.WriteMetadataFiles(File.ReadAllText(@".\AdvancedPatterns.edmx"), @".\AdvancedPatterns");

            if (runInitializers)
            {
                using (var context = new AdvancedPatternsModelFirstContext())
                {
                    context.Database.Initialize(force: false);
                }

                using (var context = new MonsterModel())
                {
                    Database.SetInitializer(new DropCreateDatabaseAlways<MonsterModel>());
                    context.Database.Initialize(force: false);
                }
            }

        }
コード例 #2
0
 public void CSharp_DbContext_template_has_lazy_loading_enabled_by_default()
 {
     using (var context = new MonsterModel())
     {
         Assert.True(context.Configuration.LazyLoadingEnabled);
     }
 }
コード例 #3
0
        public void Read_and_write_using_MonsterModel_created_from_T4_template()
        {
            int orderId;
            int? customerId;

            using (var context = new MonsterModel())
            {
                var entry = context.Entry(CreateOrder());
                entry.State = EntityState.Added;

                context.SaveChanges();

                orderId = entry.Entity.OrderId;
                customerId = entry.Entity.CustomerId;
            }

            using (var context = new MonsterModel())
            {
                var order = context.Order.Include(o => o.Customer).Single(o => o.CustomerId == customerId);

                Assert.Equal(orderId, order.OrderId);
                Assert.True(order.Customer.Orders.Contains(order));
            }
        }
コード例 #4
0
        public void Read_and_write_using_MonsterModel_created_from_T4_template()
        {
            int orderId;
            int? customerId;

            ExtendedSqlAzureExecutionStrategy.ExecuteNew(
                () =>
                {
                    using (new TransactionScope())
                    {
                        using (var context = new MonsterModel())
                        {
                            var entry = context.Entry(CreateOrder());
                            entry.State = EntityState.Added;

                            context.SaveChanges();

                            orderId = entry.Entity.OrderId;
                            customerId = entry.Entity.CustomerId;
                        }

                        using (var context = new MonsterModel())
                        {
                            var order = context.Order.Include(o => o.Customer).Single(o => o.CustomerId == customerId);

                            Assert.Equal(orderId, order.OrderId);
                            Assert.True(order.Customer.Orders.Contains(order));
                        }
                    }
                });
        }