本文整理汇总了C#中System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer.Count方法的典型用法代码示例。如果您正苦于以下问题:C# EdmModelDiffer.Count方法的具体用法?C# EdmModelDiffer.Count怎么用?C# EdmModelDiffer.Count使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Entity.Migrations.Infrastructure.EdmModelDiffer
的用法示例。
在下文中一共展示了EdmModelDiffer.Count方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: System_operations_are_ignored_by_default
public void System_operations_are_ignored_by_default()
{
var modelBuilder = new DbModelBuilder();
var model1 = modelBuilder.Build(ProviderInfo).GetModel();
modelBuilder = new DbModelBuilder();
var model2 = modelBuilder.Build(ProviderInfo).GetModel();
new HistoryRepository(ConnectionString, ProviderFactory).AppendHistoryModel(model2, ProviderInfo);
var operations = new EdmModelDiffer().Diff(model1, model2);
Assert.Equal(0, operations.Count());
}
示例2: Should_generate_add_column_operation_when_shared_pk_fk_moved_to_ia
public void Should_generate_add_column_operation_when_shared_pk_fk_moved_to_ia()
{
var modelBuilder = new DbModelBuilder();
modelBuilder.Entity<ArubaRun>();
modelBuilder.Entity<ArubaTask>().HasKey(k => new { k.Id, k.Name });
var model1 = modelBuilder.Build(ProviderInfo);
modelBuilder.Entity<ArubaRun>().HasMany(r => r.Tasks).WithRequired().Map(m => { });
var model2 = modelBuilder.Build(ProviderInfo);
var operations
= new EdmModelDiffer().Diff(model1.GetModel(), model2.GetModel());
Assert.Equal(5, operations.Count());
Assert.True(operations.Any(o => o is AddColumnOperation));
}
示例3: Can_diff_identical_models_at_different_edm_versions_and_no_diffs_produced
public void Can_diff_identical_models_at_different_edm_versions_and_no_diffs_produced()
{
var modelBuilder = new DbModelBuilder(DbModelBuilderVersion.V4_1);
modelBuilder.Entity<OrderLine>();
var model1 = modelBuilder.Build(ProviderInfo);
modelBuilder = new DbModelBuilder(DbModelBuilderVersion.V5_0);
modelBuilder.Entity<OrderLine>();
var model2 = modelBuilder.Build(ProviderInfo);
var operations = new EdmModelDiffer().Diff(
model1.GetModel(), model2.GetModel());
Assert.Equal(0, operations.Count());
}
示例4: 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());
Assert.Equal(1, operations.Count());
var column = operations.OfType<AlterColumnOperation>().Single().Column;
Assert.Equal(25, column.MaxLength);
if (DatabaseProvider != DatabaseProvider.SqlServerCe)
{
Assert.False(column.IsUnicode.Value);
}
var inverse = (AlterColumnOperation)operations.OfType<AlterColumnOperation>().Single().Inverse;
Assert.NotNull(inverse);
Assert.Equal("FullName", inverse.Column.Name);
if (DatabaseProvider != DatabaseProvider.SqlServerCe)
{
Assert.Null(inverse.Column.MaxLength);
}
else
{
Assert.Equal(4000, inverse.Column.MaxLength);
}
Assert.Null(inverse.Column.IsUnicode);
}
示例5: Should_only_detect_single_column_rename_when_fk_association
public void Should_only_detect_single_column_rename_when_fk_association()
{
var modelBuilder = new DbModelBuilder();
modelBuilder.Entity<Order>();
var model1 = modelBuilder.Build(ProviderInfo);
modelBuilder.Entity<OrderLine>().Property(ol => ol.OrderId).HasColumnName("Order_Id");
var model2 = modelBuilder.Build(ProviderInfo);
var operations = new EdmModelDiffer().Diff(
model1.GetModel(), model2.GetModel());
Assert.Equal(1, operations.Count());
var columnRename = operations.OfType<RenameColumnOperation>().ElementAt(0);
Assert.Equal("dbo.OrderLines", columnRename.Table);
Assert.Equal("OrderId", columnRename.Name);
Assert.Equal("Order_Id", columnRename.NewName);
}
示例6: Should_not_detect_changed_foreign_keys_when_multiplicity
public void Should_not_detect_changed_foreign_keys_when_multiplicity()
{
var modelBuilder = new DbModelBuilder();
modelBuilder.Entity<Order>();
var model1 = modelBuilder.Build(ProviderInfo);
modelBuilder.Entity<Order>().HasMany(o => o.OrderLines).WithRequired();
var model2 = modelBuilder.Build(ProviderInfo);
var operations = new EdmModelDiffer().Diff(
model1.GetModel(), model2.GetModel());
Assert.Equal(0, operations.Count());
}
示例7: 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);
}
示例8: Can_detect_renamed_modification_functions_when_many_to_many
public void Can_detect_renamed_modification_functions_when_many_to_many()
{
var commandTreeGenerator
= new ModificationCommandTreeGenerator(TestContext.CreateDynamicUpdateModel());
var targetModel = new TestContext_v2b().GetModel();
var renameProcedureOperations
= new EdmModelDiffer()
.Diff(
new TestContext().GetModel(),
targetModel,
new Lazy<ModificationCommandTreeGenerator>(() => commandTreeGenerator),
new SqlServerMigrationSqlGenerator())
.OfType<RenameProcedureOperation>()
.ToList();
Assert.Equal(1, renameProcedureOperations.Count);
Assert.Equal(1, renameProcedureOperations.Count(c => c.NewName == "m2m_insert"));
}
示例9: Can_detect_changed_modification_functions_when_many_to_many
public void Can_detect_changed_modification_functions_when_many_to_many()
{
var commandTreeGenerator
= new ModificationCommandTreeGenerator(TestContext.CreateDynamicUpdateModel());
var targetModel = new TestContext_v2b().GetModel();
var alterProcedureOperations
= new EdmModelDiffer()
.Diff(
new TestContext().GetModel(),
targetModel,
new Lazy<ModificationCommandTreeGenerator>(() => commandTreeGenerator),
new SqlServerMigrationSqlGenerator())
.OfType<AlterProcedureOperation>()
.ToList();
Assert.Equal(2, alterProcedureOperations.Count);
Assert.Equal(1, alterProcedureOperations.Count(ap => ap.Parameters.Any(p => p.Name == "order_thing_id")));
Assert.Equal(1, alterProcedureOperations.Count(ap => ap.Parameters.Any(p => p.Name == "order_id")));
}
示例10: Can_detect_added_tables
public void Can_detect_added_tables()
{
var modelBuilder = new DbModelBuilder();
var model1 = modelBuilder.Build(ProviderInfo);
modelBuilder.Entity<OrderLine>().ToTable("[foo.[]]].bar");
var model2 = modelBuilder.Build(ProviderInfo);
var operations = new EdmModelDiffer().Diff(
model1.GetModel(), model2.GetModel());
Assert.Equal(1, operations.Count());
var createTableOperation = operations.OfType<CreateTableOperation>().Single();
Assert.Equal("[foo.[]]].bar", createTableOperation.Name);
}
示例11: 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);
}
示例12: Bug_47549_crash_when_many_to_many_end_renamed_in_ospace
public void Bug_47549_crash_when_many_to_many_end_renamed_in_ospace()
{
var modelBuilder = new DbModelBuilder();
modelBuilder.Entity<User>();
var model1 = modelBuilder.Build(ProviderInfo);
modelBuilder = new DbModelBuilder();
modelBuilder.Entity<User2>();
var model2 = modelBuilder.Build(ProviderInfo);
var operations = new EdmModelDiffer().Diff(
model1.GetModel(), model2.GetModel());
Assert.Equal(12, operations.Count());
}
示例13: CodePlex951_should_not_detect_discriminator_column_diffs
public void CodePlex951_should_not_detect_discriminator_column_diffs()
{
XDocument model;
using (var context = new CodePlex951Context())
{
model = context.GetModel();
}
var operations = new EdmModelDiffer().Diff(model, model);
Assert.Equal(0, operations.Count());
}
示例14: Should_not_detect_diffs_when_models_are_identical
public void Should_not_detect_diffs_when_models_are_identical()
{
var modelBuilder = new DbModelBuilder();
modelBuilder.Entity<MigrationsCustomer>();
var model1 = modelBuilder.Build(ProviderInfo);
modelBuilder.Entity<MigrationsCustomer>();
var model2 = modelBuilder.Build(ProviderInfo);
var operations = new EdmModelDiffer().Diff(
model1.GetModel(), model2.GetModel());
Assert.Equal(0, operations.Count());
}
示例15: Can_detect_discriminator_column_rename
public void Can_detect_discriminator_column_rename()
{
var modelBuilder = new DbModelBuilder();
modelBuilder
.Entity<MigrationsCustomer>()
.Map(
c =>
{
c.Requires("disc0").HasValue("2");
c.Requires("disc1").HasValue("PC");
});
var model1 = modelBuilder.Build(ProviderInfo);
modelBuilder = new DbModelBuilder();
modelBuilder
.Entity<MigrationsCustomer>()
.Map(
c =>
{
c.Requires("new_disc1").HasValue("PC");
c.Requires("new_disc0").HasValue("2");
});
var model2 = modelBuilder.Build(ProviderInfo);
var operations = new EdmModelDiffer().Diff(
model1.GetModel(), model2.GetModel());
Assert.Equal(2, operations.Count());
var columnRename = operations.OfType<RenameColumnOperation>().ElementAt(0);
Assert.Equal("dbo.MigrationsCustomers", columnRename.Table);
Assert.Equal("disc0", columnRename.Name);
Assert.Equal("new_disc0", columnRename.NewName);
columnRename = operations.OfType<RenameColumnOperation>().ElementAt(1);
Assert.Equal("dbo.MigrationsCustomers", columnRename.Table);
Assert.Equal("disc1", columnRename.Name);
Assert.Equal("new_disc1", columnRename.NewName);
}