本文整理汇总了C#中System.Data.Entity.AdventureWorksModelBuilder.BuildAndValidate方法的典型用法代码示例。如果您正苦于以下问题:C# AdventureWorksModelBuilder.BuildAndValidate方法的具体用法?C# AdventureWorksModelBuilder.BuildAndValidate怎么用?C# AdventureWorksModelBuilder.BuildAndValidate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Entity.AdventureWorksModelBuilder
的用法示例。
在下文中一共展示了AdventureWorksModelBuilder.BuildAndValidate方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Duplicate_property_names_differing_by_case_are_uniquified
public void Duplicate_property_names_differing_by_case_are_uniquified()
{
var modelBuilder = new AdventureWorksModelBuilder();
modelBuilder.Entity<DuplicatePropNames>();
var databaseMapping = modelBuilder.BuildAndValidate(ProviderRegistry.Sql2008_ProviderInfo);
databaseMapping.Assert<DuplicatePropNames>().HasColumns("Id", "name", "NAME");
}
示例2: Build_model_for_a_single_type_with_a_enum_key
public void Build_model_for_a_single_type_with_a_enum_key()
{
var modelBuilder = new AdventureWorksModelBuilder();
modelBuilder.Entity<Enum_Product_PK>();
var databaseMapping = modelBuilder.BuildAndValidate(ProviderRegistry.Sql2008_ProviderInfo);
Assert.Equal(1, databaseMapping.EntityContainerMappings.Single().EntitySetMappings.Count());
}
示例3: Configure_is_max_length_on_property
public void Configure_is_max_length_on_property()
{
var modelBuilder = new AdventureWorksModelBuilder();
modelBuilder.Entity<Customer>().Property(c => c.CustomerType).IsMaxLength();
var databaseMapping = modelBuilder.BuildAndValidate(ProviderRegistry.Sql2008_ProviderInfo);
databaseMapping.Assert<Customer>(c => c.CustomerType).FacetEqual(true, f => f.IsMaxLength);
}
示例4: Decimal_property_gets_default_precision_by_convention
public void Decimal_property_gets_default_precision_by_convention()
{
var modelBuilder = new AdventureWorksModelBuilder();
modelBuilder.Entity<BillOfMaterials>();
var databaseMapping = modelBuilder.BuildAndValidate(ProviderRegistry.Sql2008_ProviderInfo);
databaseMapping.Assert<BillOfMaterials>(b => b.PerAssemblyQty).FacetEqual((byte)18, f => f.Precision);
databaseMapping.Assert<BillOfMaterials>(b => b.PerAssemblyQty).FacetEqual((byte)2, f => f.Scale);
}
示例5: TableNameAttribute_affects_only_base_in_TPT
public void TableNameAttribute_affects_only_base_in_TPT()
{
var modelBuilder = new AdventureWorksModelBuilder();
modelBuilder.Entity<TNAttrBase>()
.Map<TNAttrDerived>(mc => mc.ToTable("B"));
var databaseMapping = modelBuilder.BuildAndValidate(ProviderRegistry.Sql2008_ProviderInfo);
databaseMapping.Assert<TNAttrBase>("A");
databaseMapping.Assert<TNAttrDerived>("B");
}
示例6: Configure_identity_on_non_key_property
public void Configure_identity_on_non_key_property()
{
var modelBuilder = new AdventureWorksModelBuilder();
modelBuilder
.Entity<WorkOrder>()
.Property(w => w.OrderQty)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
var databaseMapping = modelBuilder.BuildAndValidate(ProviderRegistry.Sql2008_ProviderInfo);
databaseMapping.Assert<WorkOrder>(w => w.OrderQty)
.AnnotationEqual(StoreGeneratedPattern.Identity, "StoreGeneratedPattern");
databaseMapping.Assert<WorkOrder>(w => w.WorkOrderID)
.AnnotationNull("StoreGeneratedPattern");
}
示例7: Configure_identity_on_complex_property
public void Configure_identity_on_complex_property()
{
var modelBuilder = new AdventureWorksModelBuilder();
modelBuilder
.ComplexType<WorkOrder>()
.Property(w => w.OrderQty)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
var databaseMapping = modelBuilder.BuildAndValidate(ProviderRegistry.Sql2008_ProviderInfo);
Assert.Equal(
StoreGeneratedPattern.Identity,
databaseMapping.Model.Namespaces
.Single().ComplexTypes.Single()
.Properties.Single(p => p.Name == "OrderQty")
.Annotations.Single(a => a.Name == "StoreGeneratedPattern").Value);
}
示例8: Build_model_for_simple_optional_to_required_unidirectional_association
public void Build_model_for_simple_optional_to_required_unidirectional_association()
{
var modelBuilder = new AdventureWorksModelBuilder();
modelBuilder.Entity<Customer>()
.HasOptional(c => c.CustomerDiscount)
.WithRequired();
modelBuilder.Entity<CustomerDiscount>()
.HasKey(cd => cd.CustomerID)
.Ignore(cd => cd.Customer);
var databaseMapping = modelBuilder.BuildAndValidate(ProviderRegistry.Sql2008_ProviderInfo);
Assert.Equal(2, databaseMapping.EntityContainerMappings.Single().EntitySetMappings.Count);
}
示例9: Configure_nullable_scalar_property_as_required_using_api
public void Configure_nullable_scalar_property_as_required_using_api()
{
var modelBuilder = new AdventureWorksModelBuilder();
modelBuilder.Entity<Product>().Property(p => p.ProductSubcategoryID).IsRequired();
var databaseMapping = modelBuilder.BuildAndValidate(ProviderRegistry.Sql2008_ProviderInfo);
databaseMapping.Assert<Product>(p => p.ProductSubcategoryID).IsFalse(t => t.Nullable);
}
示例10: Build_model_for_entity_splitting_difference_schemas
public void Build_model_for_entity_splitting_difference_schemas()
{
var modelBuilder = new AdventureWorksModelBuilder();
modelBuilder.Entity<Vendor>()
.Map(m =>
{
m.Properties(v1 => new
{
v1.VendorID,
v1.Name,
v1.PreferredVendorStatus,
v1.AccountNumber,
v1.ActiveFlag,
v1.CreditRating
});
m.ToTable("Vendor", "vendors");
})
.Map(m =>
{
m.Properties(v2 => new { v2.VendorID, v2.ModifiedDate, v2.PurchasingWebServiceURL });
m.ToTable("VendorDetails", "details");
});
var databaseMapping = modelBuilder.BuildAndValidate(ProviderRegistry.Sql2008_ProviderInfo);
Assert.True(databaseMapping.Database.Schemas.Any(s => s.DatabaseIdentifier == "vendors"));
Assert.True(databaseMapping.Database.Schemas.Any(s => s.DatabaseIdentifier == "details"));
}
示例11: Build_model_after_configuring_entity_set_name
public void Build_model_after_configuring_entity_set_name()
{
var modelBuilder = new AdventureWorksModelBuilder();
modelBuilder.Entity<TransactionHistoryArchive>().HasEntitySetName("Foos");
var databaseMapping = modelBuilder.BuildAndValidate(ProviderRegistry.Sql2008_ProviderInfo);
Assert.True(databaseMapping.Model.Containers.Single().EntitySets.Any(es => es.Name == "Foos"));
}
示例12: Configure_HasColumnName_using_api
public void Configure_HasColumnName_using_api()
{
var modelBuilder = new AdventureWorksModelBuilder();
modelBuilder.Entity<UnitMeasure>().HasKey(u => u.UnitMeasureCode);
modelBuilder.Entity<UnitMeasure>().Property(u => u.UnitMeasureCode).HasColumnName("Code");
var databaseMapping = modelBuilder.BuildAndValidate(ProviderRegistry.Sql2008_ProviderInfo);
databaseMapping.AssertValid();
databaseMapping.Assert<UnitMeasure>("UnitMeasures").HasColumns("Code", "Name");
}
示例13: Inverse_navigation_property_from_base_should_throw
public void Inverse_navigation_property_from_base_should_throw()
{
var modelBuilder = new AdventureWorksModelBuilder();
modelBuilder.Entity<DerivedDependent>()
.HasRequired(d => d.DerivedPrincipalNavigation)
.WithRequiredDependent(p => p.DerivedDependentNavigation);
Assert.Throws<MetadataException>(() =>
modelBuilder.BuildAndValidate(ProviderRegistry.Sql2008_ProviderInfo));
}
示例14: Map_IA_column_names_several_times_last_wins
public void Map_IA_column_names_several_times_last_wins()
{
var modelBuilder = new AdventureWorksModelBuilder();
modelBuilder.Entity<SpecialOfferProduct>()
.HasKey(p => p.ProductID);
modelBuilder.Entity<SpecialOffer>()
.HasKey(o => o.SpecialOfferID)
.HasMany(o => o.SpecialOfferProducts)
.WithRequired(p => p.SpecialOffer)
.Map(mc =>
{
mc.MapKey("BadFK");
mc.ToTable("BadTable");
mc.MapKey("TheFK");
mc.ToTable("SpecialOfferProducts");
});
var databaseMapping = modelBuilder.BuildAndValidate(ProviderRegistry.Sql2008_ProviderInfo);
Assert.Equal(2, databaseMapping.Database.Schemas.Single().Tables.Count);
databaseMapping.Assert<SpecialOfferProduct>()
.HasColumns("ProductID", "SpecialOfferID", "rowguid", "ModifiedDate", "TheFK")
.HasForeignKeyColumn("TheFK");
}
示例15: Mapping_IA_column_name_to_existing_one_throws
public void Mapping_IA_column_name_to_existing_one_throws()
{
var modelBuilder = new AdventureWorksModelBuilder();
modelBuilder.Entity<SpecialOfferProduct>()
.HasKey(p => p.ProductID);
modelBuilder.Entity<SpecialOffer>()
.HasKey(o => o.SpecialOfferID)
.HasMany(o => o.SpecialOfferProducts)
.WithRequired(p => p.SpecialOffer)
.Map(mc => mc.MapKey("SpecialOfferID"));
Assert.Throws<MetadataException>(() =>
modelBuilder.BuildAndValidate(ProviderRegistry.Sql2008_ProviderInfo));
}