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


C# EdmModelDiffer.Select方法代码示例

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


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

示例1: Can_detect_added_foreign_keys

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

            var model1 = modelBuilder.Build(ProviderInfo);

            modelBuilder.Entity<Order>();

            var model2 = modelBuilder.Build(ProviderInfo);

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

            Assert.Equal(4, operations.Count());
            Assert.Equal(2, operations.OfType<CreateTableOperation>().Count());
            Assert.Equal(1, operations.OfType<CreateIndexOperation>().Count());

            // create fk indexes first
            Assert.True(
                operations.Select(
                    (o, i) => new
                              {
                                  o,
                                  i
                              }).Single(a => a.o is CreateIndexOperation).i <
                operations.Select(
                    (o, i) => new
                              {
                                  o,
                                  i
                              }).Single(a => a.o is AddForeignKeyOperation).i);

            var addForeignKeyOperation = operations.OfType<AddForeignKeyOperation>().Single();

            Assert.Equal("ordering.Orders", addForeignKeyOperation.PrincipalTable);
            Assert.Equal("OrderId", addForeignKeyOperation.PrincipalColumns.Single());
            Assert.Equal("dbo.OrderLines", addForeignKeyOperation.DependentTable);
            Assert.Equal("OrderId", addForeignKeyOperation.DependentColumns.Single());
            Assert.True(addForeignKeyOperation.CascadeDelete);
        }
开发者ID:,项目名称:,代码行数:40,代码来源:

示例2: Can_detect_removed_foreign_keys

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

            var model1 = modelBuilder.Build(ProviderInfo);

            modelBuilder.Entity<Order>();

            var model2 = modelBuilder.Build(ProviderInfo);

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

            Assert.Equal(4, operations.Count());
            Assert.Equal(2, operations.OfType<DropTableOperation>().Count());
            Assert.Equal(1, operations.OfType<DropIndexOperation>().Count());

            // drop fks before indexes
            Assert.True(
                operations.Select(
                    (o, i) => new
                              {
                                  o,
                                  i
                              }).Single(a => a.o is DropForeignKeyOperation).i <
                operations.Select(
                    (o, i) => new
                              {
                                  o,
                                  i
                              }).Single(a => a.o is DropIndexOperation).i);

            var dropForeignKeyOperation = operations.OfType<DropForeignKeyOperation>().Single();

            Assert.Equal("ordering.Orders", dropForeignKeyOperation.PrincipalTable);
            Assert.Equal("dbo.OrderLines", dropForeignKeyOperation.DependentTable);
            Assert.Equal("OrderId", dropForeignKeyOperation.DependentColumns.Single());

            var inverse = (AddForeignKeyOperation)dropForeignKeyOperation.Inverse;

            Assert.Equal("ordering.Orders", inverse.PrincipalTable);
            Assert.Equal("OrderId", inverse.PrincipalColumns.Single());
            Assert.Equal("dbo.OrderLines", inverse.DependentTable);
            Assert.Equal("OrderId", inverse.DependentColumns.Single());
        }
开发者ID:,项目名称:,代码行数:45,代码来源:

示例3: Can_detect_changed_primary_key_when_pk_column_facets_changed

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

            modelBuilder.Entity<PkEntity1>();

            var model1 = modelBuilder.Build(ProviderInfo);

            modelBuilder = new DbModelBuilder();

            modelBuilder.Entity<PkEntity1>().Property(e => e.Id).HasMaxLength(42);

            var model2 = modelBuilder.Build(ProviderInfo);

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

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

            Assert.Equal(
                new[]
                {
                    typeof(DropForeignKeyOperation),
                    typeof(DropIndexOperation),
                    typeof(DropPrimaryKeyOperation),
                    typeof(AlterColumnOperation),
                    typeof(AlterColumnOperation),
                    typeof(AddPrimaryKeyOperation),
                    typeof(CreateIndexOperation),
                    typeof(AddForeignKeyOperation)
                },
                operations.Select(o => o.GetType()));
        }
开发者ID:jesusico83,项目名称:Telerik,代码行数:33,代码来源:EdmModelDifferTests.cs


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