• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# History.HistoryRepository类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中System.Data.Entity.Migrations.History.HistoryRepository的典型用法代码示例。如果您正苦于以下问题:C# HistoryRepository类的具体用法?C# HistoryRepository怎么用?C# HistoryRepository使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



HistoryRepository类属于System.Data.Entity.Migrations.History命名空间,在下文中一共展示了HistoryRepository类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: GetMigrationsSince_should_return_all_migrations_when_target_is_empty

        public void GetMigrationsSince_should_return_all_migrations_when_target_is_empty()
        {
            ResetDatabase();

            var historyRepository
                = new HistoryRepository(ConnectionString, ProviderFactory);

            ExecuteOperations(GetCreateHistoryTableOperation());

            var model = CreateContext<ShopContext_v1>().GetModel();

            ExecuteOperations(
                new[]
                    {
                        historyRepository.CreateInsertOperation("Migration1", model)
                    });

            ExecuteOperations(
                new[]
                    {
                        historyRepository.CreateInsertOperation("Migration2", model)
                    });

            var migrations = historyRepository.GetMigrationsSince(DbMigrator.InitialDatabase);

            Assert.Equal(2, migrations.Count());
            Assert.Equal("Migration2", migrations.First());
        }
开发者ID:jimmy00784,项目名称:entityframework,代码行数:28,代码来源:HistoryRepositoryTests.cs


示例2: Can_explicit_update_when_custom_history_factory

        public void Can_explicit_update_when_custom_history_factory()
        {
            ResetDatabase();

            var migrator
                = CreateMigrator<ShopContext_v1>(historyContextFactory: _testHistoryContextFactoryA);

            var generatedMigration
                = new MigrationScaffolder(migrator.Configuration).Scaffold("Migration");

            migrator
                = CreateMigrator<ShopContext_v1>(
                    automaticMigrationsEnabled: false,
                    scaffoldedMigrations: generatedMigration,
                    historyContextFactory: _testHistoryContextFactoryA);

            migrator.Update();

            Assert.True(TableExists("MigrationsCustomers"));
            Assert.True(TableExists("__Migrations"));

            migrator.Update("0");

            Assert.False(TableExists("MigrationsCustomers"));
            Assert.False(TableExists("__Migrations"));

            var historyRepository = new HistoryRepository(ConnectionString, ProviderFactory, "MyKey", null);

            Assert.Null(historyRepository.GetLastModel());
        }
开发者ID:christiandpena,项目名称:entityframework,代码行数:30,代码来源:CustomHistoryScenarios.cs


示例3: GetUpgradeOperations_should_return_nothing_when_table_not_present

        public void GetUpgradeOperations_should_return_nothing_when_table_not_present()
        {
            ResetDatabase();

            var historyRepository
                = new HistoryRepository(ConnectionString, ProviderFactory, "MyKey", null);

            Assert.False(historyRepository.GetUpgradeOperations().Any());
        }
开发者ID:christiandpena,项目名称:entityframework,代码行数:9,代码来源:HistoryRepositoryTests.cs


示例4: AppendHistoryModel_should_add_system_elements_and_normalize_namespaces

        public void AppendHistoryModel_should_add_system_elements_and_normalize_namespaces()
        {
            var historyRepository
                = new HistoryRepository(ConnectionString, ProviderFactory);

            var modelBuilder = new DbModelBuilder(DbModelBuilderVersion.V4_1);
            modelBuilder.Entity<FakeEntity>();

            var model = modelBuilder.Build(ProviderInfo).GetModel();

            historyRepository.AppendHistoryModel(model, ProviderInfo);

            Assert.Equal(1, model.Descendants(EdmXNames.Csdl.EntityTypeNames.Last()).Count(e => e.IsSystemAttribute() == "true"));
            Assert.Equal(1, model.Descendants(EdmXNames.Msl.EntitySetMappingNames.Last()).Count(e => e.IsSystemAttribute() == "true"));
            Assert.Equal(1, model.Descendants(EdmXNames.Ssdl.EntityTypeNames.Last()).Count(e => e.IsSystemAttribute() == "true"));
            Assert.Equal(1, model.Descendants(EdmXNames.Ssdl.EntitySetNames.Last()).Count(e => e.IsSystemAttribute() == "true"));
        }
开发者ID:junxy,项目名称:entityframework,代码行数:17,代码来源:HistoryRepositoryTests.cs


示例5: GetUpgradeOperations_should_return_alter_migration_id_column_when_5_to_6

        public void GetUpgradeOperations_should_return_alter_migration_id_column_when_5_to_6()
        {
            ResetDatabase();

            var historyRepository
                = new HistoryRepository(Mock.Of<InternalContextForMock>(), ConnectionString, ProviderFactory, "MyKey", null, HistoryContext.DefaultFactory);

            var createTableOperation = GetCreateHistoryTableOperation();

            createTableOperation.Columns.Remove(createTableOperation.Columns.Single(c => c.Name == "ContextKey"));
            createTableOperation.PrimaryKey.Columns.RemoveAt(1);

            ExecuteOperations(createTableOperation);

            var alterColumnOperation = historyRepository.GetUpgradeOperations().OfType<AlterColumnOperation>().Single();

            Assert.Equal("MigrationId", alterColumnOperation.Column.Name);
            Assert.Equal(150, alterColumnOperation.Column.MaxLength);
        }
开发者ID:jesusico83,项目名称:Telerik,代码行数:19,代码来源:HistoryRepositoryTests.cs


示例6: GetUpgradeOperations_should_return_context_key_column_when_not_present

        public void GetUpgradeOperations_should_return_context_key_column_when_not_present()
        {
            ResetDatabase();

            var historyRepository
                = new HistoryRepository(ConnectionString, ProviderFactory, "MyKey", null);

            var createTableOperation = GetCreateHistoryTableOperation();

            createTableOperation.Columns.Remove(createTableOperation.Columns.Single(c => c.Name == "ContextKey"));
            createTableOperation.PrimaryKey.Columns.RemoveAt(1);
            ExecuteOperations(createTableOperation);

            var addColumnOperation = historyRepository.GetUpgradeOperations().OfType<AddColumnOperation>().Single();

            Assert.Equal("ContextKey", addColumnOperation.Column.Name);
            Assert.Equal("MyKey", addColumnOperation.Column.DefaultValue);
            Assert.Equal(512, addColumnOperation.Column.MaxLength);
            Assert.False(addColumnOperation.Column.IsNullable.Value);
        }
开发者ID:christiandpena,项目名称:entityframework,代码行数:20,代码来源:HistoryRepositoryTests.cs


示例7: GetUpgradeOperations_should_return_add_product_version_column_when_not_present

        public void GetUpgradeOperations_should_return_add_product_version_column_when_not_present()
        {
            ResetDatabase();

            var historyRepository
                = new HistoryRepository(ConnectionString, ProviderFactory, "MyKey", null);

            var createTableOperation = GetCreateHistoryTableOperation();

            createTableOperation.Columns.Remove(createTableOperation.Columns.Last());

            ExecuteOperations(createTableOperation);

            var addColumnOperation = (AddColumnOperation)historyRepository.GetUpgradeOperations().Last();

            Assert.Equal("ProductVersion", addColumnOperation.Column.Name);
            Assert.Equal("0.7.0.0", addColumnOperation.Column.DefaultValue);
            Assert.Equal(32, addColumnOperation.Column.MaxLength);
            Assert.False(addColumnOperation.Column.IsNullable.Value);
        }
开发者ID:christiandpena,项目名称:entityframework,代码行数:20,代码来源:HistoryRepositoryTests.cs


示例8: Exists_should_return_true_when_database_and_table

        public void Exists_should_return_true_when_database_and_table()
        {
            ResetDatabase();

            var historyRepository = new HistoryRepository(ConnectionString, ProviderFactory, "MyKey", null);

            ExecuteOperations(GetCreateHistoryTableOperation());

            Assert.True(historyRepository.Exists());
        }
开发者ID:christiandpena,项目名称:entityframework,代码行数:10,代码来源:HistoryRepositoryTests.cs


示例9: Exists_should_return_false_when_no_table

        public void Exists_should_return_false_when_no_table()
        {
            ResetDatabase();

            var historyRepository = new HistoryRepository(ConnectionString, ProviderFactory, "MyKey", null);

            Assert.False(historyRepository.Exists());
        }
开发者ID:christiandpena,项目名称:entityframework,代码行数:8,代码来源:HistoryRepositoryTests.cs


示例10: Exists_should_return_false_when_no_database

        public void Exists_should_return_false_when_no_database()
        {
            var historyRepository
                = new HistoryRepository(
                    ConnectionString.Replace(DatabaseProviderFixture.DefaultDatabaseName, "NoSuchDatabase"),
                    ProviderFactory, "MyKey", null);

            Assert.False(historyRepository.Exists());
        }
开发者ID:christiandpena,项目名称:entityframework,代码行数:9,代码来源:HistoryRepositoryTests.cs


示例11: GetModel_should_return_model_based_on_context_key

        public void GetModel_should_return_model_based_on_context_key()
        {
            ResetDatabase();

            var historyRepository1
                = new HistoryRepository(ConnectionString, ProviderFactory, "Key1", null);

            var model = CreateContext<ShopContext_v1>().GetModel();

            ExecuteOperations(
                GetCreateHistoryTableOperation(),
                historyRepository1.CreateInsertOperation("Migration 1", model));

            var historyRepository2
                = new HistoryRepository(ConnectionString, ProviderFactory, "Key2", null);

            ExecuteOperations(
                new[] { historyRepository2.CreateInsertOperation("Migration 2", model) });

            model = historyRepository1.GetModel("Migration 1");

            Assert.NotNull(model);

            model = historyRepository2.GetModel("Migration 2");

            Assert.NotNull(model);
        }
开发者ID:christiandpena,项目名称:entityframework,代码行数:27,代码来源:HistoryRepositoryTests.cs


示例12: GetMigrationsSince_should_return_empty_when_target_valid_but_is_latest

        public void GetMigrationsSince_should_return_empty_when_target_valid_but_is_latest()
        {
            ResetDatabase();

            var historyRepository
                = new HistoryRepository(ConnectionString, ProviderFactory, "MyKey", null);

            ExecuteOperations(GetCreateHistoryTableOperation());

            var model = CreateContext<ShopContext_v1>().GetModel();

            ExecuteOperations(
                new[]
                    {
                        historyRepository.CreateInsertOperation("Migration1", model),
                        historyRepository.CreateInsertOperation("Migration2", model)
                    });

            var migrations = historyRepository.GetMigrationsSince("Migration2");

            Assert.Equal(0, migrations.Count());
        }
开发者ID:christiandpena,项目名称:entityframework,代码行数:22,代码来源:HistoryRepositoryTests.cs


示例13: DbMigrator

        internal DbMigrator(DbMigrationsConfiguration configuration, DbContext usersContext, DatabaseExistenceState existenceState, bool calledByCreateDatabase)
            : base(null)
        {
            Check.NotNull(configuration, "configuration");
            Check.NotNull(configuration.ContextType, "configuration.ContextType");

            _configuration = configuration;
            _calledByCreateDatabase = calledByCreateDatabase;
            _existenceState = existenceState;

            if (usersContext != null)
            {
                _usersContextInfo = new DbContextInfo(usersContext);
            }
            else
            {
                _usersContextInfo
                    = configuration.TargetDatabase == null
                        ? new DbContextInfo(configuration.ContextType)
                        : new DbContextInfo(configuration.ContextType, configuration.TargetDatabase);

                if (!_usersContextInfo.IsConstructible)
                {
                    throw Error.ContextNotConstructible(configuration.ContextType);
                }
            }

            _modelDiffer = _configuration.ModelDiffer;

            var context = usersContext ?? _usersContextInfo.CreateInstance();
            _usersContext = context;

            try
            {
                _migrationAssembly
                    = new MigrationAssembly(
                        _configuration.MigrationsAssembly,
                        _configuration.MigrationsNamespace);

                _currentModel = context.GetModel();

                _connection = context.Database.Connection;

                _providerFactory = DbProviderServices.GetProviderFactory(_connection);

                _defaultSchema
                    = context.InternalContext.DefaultSchema
                      ?? EdmModelExtensions.DefaultSchema;

                _historyContextFactory
                    = _configuration
                        .GetHistoryContextFactory(_usersContextInfo.ConnectionProviderName);

                _historyRepository
                    = new HistoryRepository(
                        context.InternalContext,
                        _usersContextInfo.ConnectionString,
                        _providerFactory,
                        _configuration.ContextKey,
                        _configuration.CommandTimeout,
                        _historyContextFactory,
                        schemas: new[] { _defaultSchema }.Concat(GetHistorySchemas()),
                        contextForInterception: _usersContext,
                        initialExistence: _existenceState);

                _providerManifestToken
                    = context.InternalContext.ModelProviderInfo != null
                        ? context.InternalContext.ModelProviderInfo.ProviderManifestToken
                        : DbConfiguration
                            .DependencyResolver
                            .GetService<IManifestTokenResolver>()
                            .ResolveManifestToken(_connection);

                var modelBuilder
                    = context.InternalContext.CodeFirstModel.CachedModelBuilder;

                _modificationCommandTreeGenerator
                    = new Lazy<ModificationCommandTreeGenerator>(
                        () =>
                            new ModificationCommandTreeGenerator(
                                modelBuilder.BuildDynamicUpdateModel(
                                    new DbProviderInfo(
                                        _usersContextInfo.ConnectionProviderName,
                                        _providerManifestToken)),
                                CreateConnection()));

                var interceptionContext = new DbInterceptionContext();
                interceptionContext = interceptionContext.WithDbContext(_usersContext);

                _targetDatabase
                    = Strings.LoggingTargetDatabaseFormat(
                        DbInterception.Dispatch.Connection.GetDataSource(_connection, interceptionContext),
                        DbInterception.Dispatch.Connection.GetDatabase(_connection, interceptionContext),
                        _usersContextInfo.ConnectionProviderName,
                        _usersContextInfo.ConnectionStringOrigin == DbConnectionStringOrigin.DbContextInfo
                            ? Strings.LoggingExplicit
                            : _usersContextInfo.ConnectionStringOrigin.ToString());

                _legacyContextKey = context.InternalContext.DefaultContextKey;
                _emptyModel = GetEmptyModel();
//.........这里部分代码省略.........
开发者ID:Cireson,项目名称:EntityFramework6,代码行数:101,代码来源:DbMigrator.cs


示例14: CreateDeleteOperation_should_return_valid_history_operation

        public void CreateDeleteOperation_should_return_valid_history_operation()
        {
            var modelBuilder = new DbModelBuilder();
            var model = modelBuilder.Build(ProviderInfo);
            var edmxString = new StringBuilder();

            using (var xmlWriter = XmlWriter.Create(
                edmxString, new XmlWriterSettings
                                {
                                    Indent = true
                                }))
            {
                EdmxWriter.WriteEdmx(model, xmlWriter);
            }

            var historyRepository = new HistoryRepository(ConnectionString, ProviderFactory, "MyKey", null);

            var historyOperation
                = (HistoryOperation)historyRepository.CreateDeleteOperation("Migration1");

            Assert.NotEmpty(historyOperation.Commands);
            Assert.Equal(2, historyOperation.Commands.Single().Parameters.Count);
        }
开发者ID:christiandpena,项目名称:entityframework,代码行数:23,代码来源:HistoryRepositoryTests.cs


示例15: GetLastModel_should_return_null_when_no_data

        public void GetLastModel_should_return_null_when_no_data()
        {
            ResetDatabase();

            var historyRepository = new HistoryRepository(ConnectionString, ProviderFactory, "MyKey", null);
            var modelBuilder = new DbModelBuilder();

            modelBuilder.Entity<MigrationsCustomer>();

            Assert.Null(historyRepository.GetLastModel());
        }
开发者ID:christiandpena,项目名称:entityframework,代码行数:11,代码来源:HistoryRepositoryTests.cs


示例16: GetPendingMigrations_should_ignore_InitialCreate_timestamps

        public void GetPendingMigrations_should_ignore_InitialCreate_timestamps()
        {
            ResetDatabase();

            var historyRepository = new HistoryRepository(ConnectionString, ProviderFactory, "MyKey", null);

            var model = CreateContext<ShopContext_v1>().GetModel();

            ExecuteOperations(
                GetCreateHistoryTableOperation(),
                historyRepository.CreateInsertOperation("000000000000001_InitialCreate", model));

            var pendingMigrations = historyRepository.GetPendingMigrations(
                new[] { "000000000000002_InitialCreate", "Migration 1" });

            Assert.Equal("Migration 1", pendingMigrations.Single());
        }
开发者ID:christiandpena,项目名称:entityframework,代码行数:17,代码来源:HistoryRepositoryTests.cs


示例17: GetPendingMigrations_should_return_migrations_based_on_context_key

        public void GetPendingMigrations_should_return_migrations_based_on_context_key()
        {
            ResetDatabase();

            var historyRepository1 = new HistoryRepository(ConnectionString, ProviderFactory, "MyKey1", null);
            var historyRepository2 = new HistoryRepository(ConnectionString, ProviderFactory, "MyKey2", null);

            var model = CreateContext<ShopContext_v1>().GetModel();

            ExecuteOperations(
                GetCreateHistoryTableOperation(),
                historyRepository1.CreateInsertOperation("Migration 1", model),
                historyRepository2.CreateInsertOperation("Migration 1", model),
                historyRepository1.CreateInsertOperation("Migration 3", model),
                historyRepository1.CreateInsertOperation("Migration 5", model));

            var pendingMigrations =
                historyRepository1.GetPendingMigrations(
                    new[] { "Migration 1", "Migration 2", "Migration 3", "Migration 4", "Migration 5" });

            Assert.Equal("Migration 2", pendingMigrations.First());
            Assert.Equal("Migration 4", pendingMigrations.Last());
        }
开发者ID:christiandpena,项目名称:entityframework,代码行数:23,代码来源:HistoryRepositoryTests.cs


示例18: GetPendingMigrations_should_return_empty_set_when_no_data

        public void GetPendingMigrations_should_return_empty_set_when_no_data()
        {
            ResetDatabase();

            var historyRepository = new HistoryRepository(ConnectionString, ProviderFactory, "MyKey", null);

            Assert.False(historyRepository.GetPendingMigrations(Enumerable.Empty<string>()).Any());
        }
开发者ID:christiandpena,项目名称:entityframework,代码行数:8,代码来源:HistoryRepositoryTests.cs


示例19: GetPendingMigrations_should_return_empty_set_when_no_database

        public void GetPendingMigrations_should_return_empty_set_when_no_database()
        {
            var historyRepository
                = new HistoryRepository(
                    ConnectionString.Replace(DatabaseProviderFixture.DefaultDatabaseName, "NoSuchDatabase"),
                    ProviderFactory, "MyKey", null);

            Assert.False(historyRepository.GetPendingMigrations(Enumerable.Empty<string>()).Any());
        }
开发者ID:christiandpena,项目名称:entityframework,代码行数:9,代码来源:HistoryRepositoryTests.cs


示例20: Repository_should_work_gracefully_when_no_context_key_column

        public void Repository_should_work_gracefully_when_no_context_key_column()
        {
            ResetDatabase();

            var historyRepository = new HistoryRepository(ConnectionString, ProviderFactory, "MyKey", null);

            var createHistoryTableOperation = GetCreateHistoryTableOperation();

            createHistoryTableOperation.Columns.Remove(
                createHistoryTableOperation.Columns.Single(c => c.Name == "ContextKey"));

            createHistoryTableOperation.PrimaryKey.Columns.Remove("ContextKey");

            ExecuteOperations(
                createHistoryTableOperation,
                new SqlOperation(
                    @"INSERT INTO [__MigrationHistory] ([MigrationId], [ProductVersion], [Model]) 
                                  VALUES ('000000000000000_ExistingMigration', 
                                          '1.0',
                                          0x1F8B0800000000000400ECBD07601C499625262F6DCA7B7F4AF54AD7E074A10880601324D8904010ECC188CDE692EC1D69472329AB2A81CA6556655D661640CCED9DBCF7DE7BEFBDF7DE7BEFBDF7BA3B9D4E27F7DFFF3F5C6664016CF6CE4ADAC99E2180AAC81F3F7E7C1F3F22FEC7BFF71F7CFC7BBC5B94E9655E3745B5FCECA3DDF1CE4769BE9C56B36279F1D947EBF67CFBE0A3DFE3E8374E1E9FCE16EFD29F34EDF6D08EDE5C369F7D346FDBD5A3BB779BE93C5F64CD78514CEBAAA9CEDBF1B45ADCCD66D5DDBD9D9D83BBBB3B777302F111C14AD3C7AFD6CBB658E4FC07FD79522DA7F9AA5D67E517D52C2F1BFD9CBE79CD50D317D9226F56D934FFEC236ADB54657EBC5A95C5346B099DDD8FD2E3B2C80895D77979FE9E78ED3C045E1FD91EA9CF53C2ADBDA67EDAAC58E63577CEFDB6F9BBF6A3F4AEC3EEAEA067867177601C8FBFC8562B22A8372EFD247DAD83DA7EFDFE782F04C6DD69B3097DDB535BD5D945DEF916E39AE5CF8ABA699F666D36C99AFCA3F464B688348B0C5F61DBF177C6F958FBBCCDA4769090261FA52FEBEAB2980181D7D74D9B2FC668307EFD8BCA93B2C897AD6BF045B62CCEF3A67D53BDCDC1A044A3AFCF160FEFEEEC812DEE36CDACBC156FF468B8814BFA54797CD71788C74FF3A6B820E89E782CF32958DD01356DCE96E715D16095D7EDF5EBBCF571354DCCD78AEC17799BCD08CFE3BA2DCEB3694B5F4FF3A6A179FB28FDC9AC5C5393D3C5249F9D2DBF5CB7AB757BDC34F962525E8763DADC3F8B4288F3E32F57F8CB6383AF3F0442B3A021E45F2E9FAC8B7266F17E969521ED874160CA3ECFE9735621AF5BFA995F5C5B482FAAE52D0129F99EE6AB7C3923967C932F5625016BBE5CBECE2EF361DC6EA66148B1C74F8BECA2CE163E05E513C5E475463D7B5D5007FE1BAE3FFAF3F15D28F4A3FF270000FFFF4817137F02060000)"));

            Assert.True(historyRepository.Exists());
            Assert.NotNull(historyRepository.GetLastModel());
            Assert.NotEmpty(historyRepository.GetMigrationsSince("0"));
            Assert.NotNull(historyRepository.GetModel("000000000000000_ExistingMigration"));
            Assert.Equal("000000000000000_ExistingMigration", historyRepository.GetMigrationId("ExistingMigration"));
        }
开发者ID:christiandpena,项目名称:entityframework,代码行数:27,代码来源:HistoryRepositoryTests.cs



注:本文中的System.Data.Entity.Migrations.History.HistoryRepository类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Infrastructure.EdmModelDiffer类代码示例发布时间:2022-05-26
下一篇:
C# Design.MigrationScaffolder类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap