当前位置: 首页>>代码示例>>C#>>正文


C# EdmModelDiffer.Single方法代码示例

本文整理汇总了C#中System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.Single方法的典型用法代码示例。如果您正苦于以下问题:C# EdmModelDiffer.Single方法的具体用法?C# EdmModelDiffer.Single怎么用?C# EdmModelDiffer.Single使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer的用法示例。


在下文中一共展示了EdmModelDiffer.Single方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Can_detect_renamed_many_to_many_table

        public void Can_detect_renamed_many_to_many_table()
        {
            var modelBuilder = new DbModelBuilder();

            modelBuilder.Entity<ManyManySelfRef>();

            var model1 = modelBuilder.Build(ProviderInfo);
            
            modelBuilder.Entity<ManyManySelfRef>().ToTable("Renamed");

            var model2 = modelBuilder.Build(ProviderInfo);

            var operations
                = new EdmModelDiffer().Diff(model1.GetModel(), model2.GetModel());

            var tableRename = (RenameTableOperation)operations.Single();

            Assert.Equal("dbo.ManyManySelfRefs", tableRename.Name);
            Assert.Equal("Renamed", tableRename.NewName);
        }
开发者ID:jesusico83,项目名称:Telerik,代码行数:20,代码来源:EdmModelDifferTests.cs

示例2: Can_detect_simple_table_rename

        public void Can_detect_simple_table_rename()
        {
            var modelBuilder = new DbModelBuilder();

            modelBuilder.Entity<MigrationsCustomer>();

            var model1 = modelBuilder.Build(ProviderInfo);

            modelBuilder.Entity<MigrationsCustomer>().ToTable("Customer");

            var model2 = modelBuilder.Build(ProviderInfo);

            var operations 
                = new EdmModelDiffer().Diff(model1.GetModel(), model2.GetModel());

            var tableRename = (RenameTableOperation)operations.Single();

            Assert.Equal("dbo.MigrationsCustomers", tableRename.Name);
            Assert.Equal("Customer", tableRename.NewName);
        }
开发者ID:jesusico83,项目名称:Telerik,代码行数:20,代码来源:EdmModelDifferTests.cs

示例3: Should_not_detect_pk_change_when_pk_column_renamed

        public void Should_not_detect_pk_change_when_pk_column_renamed()
        {
            var modelBuilder = new DbModelBuilder();

            modelBuilder.Entity<OrderLine>();

            var model1 = modelBuilder.Build(ProviderInfo);

            modelBuilder = new DbModelBuilder();

            modelBuilder.Entity<OrderLine>().Property(ol => ol.Id).HasColumnName("pk_ID");

            var model2 = modelBuilder.Build(ProviderInfo);

            var operations = new EdmModelDiffer().Diff(
                model1.GetModel(), model2.GetModel());

            Assert.Equal(1, operations.Count());
            Assert.True(operations.Single() is RenameColumnOperation);
        }
开发者ID:,项目名称:,代码行数:20,代码来源:

示例4: Table_rename_does_not_trigger_index_drop_and_create

        public void Table_rename_does_not_trigger_index_drop_and_create()
        {
            var modelBuilder = new DbModelBuilder();

            modelBuilder.Entity<MigrationsCustomer>()
                .Property(e => e.Id)
                .HasColumnAnnotation(IndexAnnotation.AnnotationName, new IndexAnnotation(new IndexAttribute("Bella")));

            var model1 = modelBuilder.Build(ProviderInfo);

            modelBuilder.Entity<MigrationsCustomer>()
                .ToTable("Customer")
                .Property(e => e.Id)
                .HasColumnAnnotation(IndexAnnotation.AnnotationName, new IndexAnnotation(new IndexAttribute("Bella")));

            var model2 = modelBuilder.Build(ProviderInfo);

            var operations= new EdmModelDiffer().Diff(model1.GetModel(), model2.GetModel());

            Assert.IsType<RenameTableOperation>(operations.Single());
        }
开发者ID:jesusico83,项目名称:Telerik,代码行数:21,代码来源:EdmModelDifferTests.cs

示例5: Can_detect_table_move_when_ospace_type_renamed_on_one_side_of_many_to_many

        public void Can_detect_table_move_when_ospace_type_renamed_on_one_side_of_many_to_many()
        {
            var modelBuilder = new DbModelBuilder();

            modelBuilder
                .Entity<TableRenameManyManyLeft1>()
                .ToTable("Left")
                .HasMany(l => l.Rights)
                .WithMany(r => r.Lefts)
                .Map(
                    m =>
                    {
                        m.MapLeftKey("LeftId");
                        m.MapRightKey("RightId");
                        m.ToTable("Join", "foo");
                    });

            modelBuilder
                .Entity<OSpaceRenames_v1.TableRenameManyManyRight>()
                .ToTable("Right");

            var model1 = modelBuilder.Build(ProviderInfo);

            modelBuilder = new DbModelBuilder();

            modelBuilder
                .Entity<TableRenameManyManyLeft2>()
                .ToTable("Left")
                .HasMany(l => l.Rights)
                .WithMany(r => r.Lefts)
                .Map(
                    m =>
                    {
                        m.MapLeftKey("LeftId");
                        m.MapRightKey("RightId");
                        m.ToTable("Join", "bar");
                    });

            modelBuilder
                .Entity<OSpaceRenames_v2.TableRenameManyManyRight>()
                .ToTable("Right");

            var model2 = modelBuilder.Build(ProviderInfo);

            var operations
                = new EdmModelDiffer().Diff(model1.GetModel(), model2.GetModel());

            Assert.Equal(1, operations.Count());

            var moveTableOperation = (MoveTableOperation)operations.Single();

            Assert.Equal("foo.Join", moveTableOperation.Name);
            Assert.Equal("bar", moveTableOperation.NewSchema);
        }
开发者ID:jesusico83,项目名称:Telerik,代码行数:54,代码来源:EdmModelDifferTests.cs

示例6: Can_detect_table_move_when_ospace_type_renamed

        public void Can_detect_table_move_when_ospace_type_renamed()
        {
            var modelBuilder = new DbModelBuilder();

            modelBuilder.Entity<TableRename1>().ToTable("foo.TableRename1");

            var model1 = modelBuilder.Build(ProviderInfo);

            modelBuilder = new DbModelBuilder();

            modelBuilder.Entity<TableRename2>().ToTable("bar.TableRename1");

            var model2 = modelBuilder.Build(ProviderInfo);

            var operations
                = new EdmModelDiffer().Diff(model1.GetModel(), model2.GetModel());

            var moveTableOperation = (MoveTableOperation)operations.Single();

            Assert.Equal("foo.TableRename1", moveTableOperation.Name);
            Assert.Equal("bar", moveTableOperation.NewSchema);
        }
开发者ID:jesusico83,项目名称:Telerik,代码行数:22,代码来源:EdmModelDifferTests.cs

示例7: Can_detect_table_rename_when_ospace_type_renamed_table_splitting

        public void Can_detect_table_rename_when_ospace_type_renamed_table_splitting()
        {
            var modelBuilder = new DbModelBuilder();

            modelBuilder.Entity<TableRenameTableSplit1>();
            modelBuilder.Entity<TableRenameTableSplit1>().HasRequired(t => t.Payload).WithRequiredPrincipal();
            modelBuilder.Entity<TableRenameTableSplitPayload1>().ToTable("TableRenameTableSplit1");

            var model1 = modelBuilder.Build(ProviderInfo);

            modelBuilder = new DbModelBuilder();

            modelBuilder.Entity<TableRenameTableSplit2>();
            modelBuilder.Entity<TableRenameTableSplit2>().HasRequired(t => t.Payload).WithRequiredPrincipal();
            modelBuilder.Entity<TableRenameTableSplitPayload2>().ToTable("TableRenameTableSplit2");

            var model2 = modelBuilder.Build(ProviderInfo);

            var operations
                = new EdmModelDiffer().Diff(model1.GetModel(), model2.GetModel());

            var renameTableOperation = (RenameTableOperation)operations.Single();

            Assert.Equal("dbo.TableRenameTableSplit1", renameTableOperation.Name);
            Assert.Equal("TableRenameTableSplit2", renameTableOperation.NewName);
        }
开发者ID:jesusico83,项目名称:Telerik,代码行数:26,代码来源:EdmModelDifferTests.cs

示例8: Diffing_TPH_models_with_discriminator_based_on_nullability_rather_than_value_works

        public void Diffing_TPH_models_with_discriminator_based_on_nullability_rather_than_value_works()
        {
            var modelBuilder = new DbModelBuilder();
            modelBuilder.Entity<Foo2157>();
            modelBuilder.Entity<EnhancedFoo2157>().Map(m => m.Requires(o => o.XColumn).HasValue());

            var model1 = modelBuilder.Build(ProviderInfo);

            // making this change to force the actual diff
            modelBuilder.Entity<EnhancedFoo2157>().Property(e => e.Name).HasMaxLength(20);
            var model2 = modelBuilder.Build(ProviderInfo);

            var operations = new EdmModelDiffer().Diff(model1.GetModel(), model2.GetModel());
            var alterColumnOperation = (AlterColumnOperation)operations.Single();
            Assert.Equal("Name", alterColumnOperation.Column.Name);
        }
开发者ID:jesusico83,项目名称:Telerik,代码行数:16,代码来源:EdmModelDifferTests.cs

示例9: Can_detect_renamed_indexes

        public void Can_detect_renamed_indexes()
        {
            var modelBuilder = new DbModelBuilder();

            modelBuilder.Entity<IndexRename>();

            var model1 = modelBuilder.Build(ProviderInfo);

            modelBuilder
                .Entity<IndexRename>()
                .Property(p => p.Indexed)
                .HasColumnAnnotation("Index", new IndexAnnotation(new IndexAttribute("NewName")));

            var model2 = modelBuilder.Build(ProviderInfo);

            var operations
                = new EdmModelDiffer().Diff(model1.GetModel(), model2.GetModel());

            var renameIndexOperation = (RenameIndexOperation)operations.Single();

            Assert.Equal("dbo.IndexRenames", renameIndexOperation.Table);
            Assert.Equal("IX_Indexed", renameIndexOperation.Name);
            Assert.Equal("NewName", renameIndexOperation.NewName);
        }
开发者ID:jesusico83,项目名称:Telerik,代码行数:24,代码来源:EdmModelDifferTests.cs

示例10: Can_detect_removed_index

        public void Can_detect_removed_index()
        {
            var modelBuilder = new DbModelBuilder();
            modelBuilder.Entity<MigrationsCustomer>()
                .Property(c => c.CustomerNumber)
                .HasColumnAnnotation(IndexAnnotation.AnnotationName, new IndexAnnotation(new IndexAttribute("Bella")));

            var model1 = modelBuilder.Build(ProviderInfo);

            modelBuilder = new DbModelBuilder();
            modelBuilder.Entity<MigrationsCustomer>()
                .Property(c => c.CustomerNumber);

            var model2 = modelBuilder.Build(ProviderInfo);

            var operations = new EdmModelDiffer().Diff(model1.GetModel(), model2.GetModel());

            var dropIndexOperation = (DropIndexOperation)operations.Single();
            Assert.Equal("Bella", dropIndexOperation.Name);
            Assert.Equal("dbo.MigrationsCustomers", dropIndexOperation.Table);
            Assert.Equal(new List<string> { "CustomerNumber" }, dropIndexOperation.Columns);
        }
开发者ID:jesusico83,项目名称:Telerik,代码行数:22,代码来源:EdmModelDifferTests.cs

示例11: Can_detect_removed_column_annotations

        public void Can_detect_removed_column_annotations()
        {
            var modelBuilder = new DbModelBuilder();
            modelBuilder.Entity<MigrationsCustomer>()
                .Property(c => c.FullName)
                .HasColumnAnnotation("A1", "V1");

            var model1 = modelBuilder.Build(ProviderInfo);

            modelBuilder = new DbModelBuilder();
            modelBuilder.Entity<MigrationsCustomer>()
                .Property(c => c.FullName);

            var model2 = modelBuilder.Build(ProviderInfo);

            var operations = new EdmModelDiffer().Diff(model1.GetModel(), model2.GetModel());

            var alterColumnOperation = (AlterColumnOperation)operations.Single();

            Assert.Equal("V1", alterColumnOperation.Column.Annotations["A1"].OldValue);
            Assert.Null(alterColumnOperation.Column.Annotations["A1"].NewValue);
        }
开发者ID:jesusico83,项目名称:Telerik,代码行数:22,代码来源:EdmModelDifferTests.cs

示例12: Can_detect_changed_columns

        public void Can_detect_changed_columns()
        {
            var modelBuilder = new DbModelBuilder();

            modelBuilder.Entity<MigrationsCustomer>();

            var model1 = modelBuilder.Build(ProviderInfo);

            modelBuilder
                .Entity<MigrationsCustomer>()
                .Property(c => c.FullName)
                .HasMaxLength(25)
                .IsUnicode(false);

            var model2 = modelBuilder.Build(ProviderInfo);

            var operations 
                = new EdmModelDiffer().Diff(model1.GetModel(), model2.GetModel());

            var alterColumnOperation = (AlterColumnOperation)operations.Single();

            Assert.Equal(25, alterColumnOperation.Column.MaxLength);

            if (DatabaseProvider != DatabaseProvider.SqlServerCe)
            {
                Assert.Equal(false, alterColumnOperation.Column.IsUnicode);
            }

            var inverseAlterColumnOperation
                = (AlterColumnOperation)alterColumnOperation.Inverse;

            Assert.Equal("FullName", inverseAlterColumnOperation.Column.Name);

            Assert.Equal(
                DatabaseProvider != DatabaseProvider.SqlServerCe
                    ? (int?)null
                    : 4000,
                inverseAlterColumnOperation.Column.MaxLength);

            Assert.Null(inverseAlterColumnOperation.Column.IsUnicode);
        }
开发者ID:jesusico83,项目名称:Telerik,代码行数:41,代码来源:EdmModelDifferTests.cs

示例13: Can_detect_column_drop_when_ospace_type_renamed

        public void Can_detect_column_drop_when_ospace_type_renamed()
        {
            var modelBuilder = new DbModelBuilder();

            modelBuilder.Entity<ColumnRename1>();

            var model1 = modelBuilder.Build(ProviderInfo);

            modelBuilder = new DbModelBuilder();

            modelBuilder.Entity<ColumnRename2>().Ignore(t => t.Member);

            var model2 = modelBuilder.Build(ProviderInfo);

            var operations
                = new EdmModelDiffer().Diff(model1.GetModel(), model2.GetModel());

            var dropColumnOperation = (DropColumnOperation)operations.Single();

            Assert.Equal("Member", dropColumnOperation.Name);
        }
开发者ID:jesusico83,项目名称:Telerik,代码行数:21,代码来源:EdmModelDifferTests.cs


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