本文整理汇总了C#中System.Data.Entity.ModelConfiguration.Configuration.ModelConfiguration.Entity方法的典型用法代码示例。如果您正苦于以下问题:C# ModelConfiguration.Entity方法的具体用法?C# ModelConfiguration.Entity怎么用?C# ModelConfiguration.Entity使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Entity.ModelConfiguration.Configuration.ModelConfiguration
的用法示例。
在下文中一共展示了ModelConfiguration.Entity方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Apply_ignores_constraint_when_inverse_constraint_already_specified
public void Apply_ignores_constraint_when_inverse_constraint_already_specified()
{
var mockTypeA = new MockType("A");
var mockTypeB = new MockType("B").Property(mockTypeA, "A").Property<int>("AId1").Property<int>("AId2");
mockTypeA.Property(mockTypeB, "B");
var mockPropertyInfo = mockTypeA.GetProperty("B");
var mockInversePropertyInfo = mockTypeB.GetProperty("A");
var modelConfiguration = new ModelConfiguration();
var navigationPropertyConfiguration
= modelConfiguration.Entity(mockTypeA).Navigation(mockPropertyInfo);
var inverseNavigationPropertyConfiguration
= modelConfiguration.Entity(mockTypeB).Navigation(mockInversePropertyInfo);
navigationPropertyConfiguration.InverseNavigationProperty = mockInversePropertyInfo;
inverseNavigationPropertyConfiguration.Constraint
= new ForeignKeyConstraintConfiguration(new[] { mockTypeB.GetProperty("AId1") });
new ForeignKeyPrimitivePropertyAttributeConvention.ForeignKeyAttributeConventionImpl()
.Apply(mockPropertyInfo, modelConfiguration, new ForeignKeyAttribute("AId2"));
Assert.Null(navigationPropertyConfiguration.Constraint);
}
示例2: Apply_ignores_constraint_when_inverse_constraint_already_specified
public void Apply_ignores_constraint_when_inverse_constraint_already_specified()
{
var mockPropertyInfo = typeof(AType4).GetInstanceProperty("B");
var mockInversePropertyInfo = typeof(BType4).GetInstanceProperty("A");
var modelConfiguration = new ModelConfiguration();
var navigationPropertyConfiguration
= modelConfiguration.Entity(typeof(AType4)).Navigation(mockPropertyInfo);
var inverseNavigationPropertyConfiguration
= modelConfiguration.Entity(typeof(BType4)).Navigation(mockInversePropertyInfo);
navigationPropertyConfiguration.InverseNavigationProperty = mockInversePropertyInfo;
inverseNavigationPropertyConfiguration.Constraint
= new ForeignKeyConstraintConfiguration(new[] { typeof(BType4).GetInstanceProperty("AId1") });
new ForeignKeyPrimitivePropertyAttributeConvention()
.Apply(
typeof(BType4).GetInstanceProperty("AId1"),
new ConventionTypeConfiguration(typeof(BType4), () => modelConfiguration.Entity(typeof(BType4)), modelConfiguration),
new ForeignKeyAttribute("A"));
Assert.Null(navigationPropertyConfiguration.Constraint);
}
示例3: Configure_should_uniquify_unconfigured_association_function_names
public void Configure_should_uniquify_unconfigured_association_function_names()
{
var mockPropertyInfo = typeof(BType1).GetDeclaredProperty("As");
var modelConfiguration = new ModelConfiguration();
var navigationPropertyConfiguration
= modelConfiguration.Entity(typeof(BType1)).Navigation(mockPropertyInfo);
navigationPropertyConfiguration.ModificationStoredProceduresConfiguration
= new ModificationStoredProceduresConfiguration();
var modificationFunctionConfiguration = new ModificationStoredProcedureConfiguration();
modificationFunctionConfiguration.HasName("AB_Delete");
navigationPropertyConfiguration.ModificationStoredProceduresConfiguration
.Insert(modificationFunctionConfiguration);
var model = new EdmModel(DataSpace.CSpace);
var entityA = model.AddEntityType("A");
entityA.GetMetadataProperties().SetClrType(typeof(AType1));
entityA.SetConfiguration(modelConfiguration.Entity(typeof(AType1)));
var entityB = model.AddEntityType("B");
entityB.GetMetadataProperties().SetClrType(typeof(BType1));
entityB.SetConfiguration(modelConfiguration.Entity(typeof(BType1)));
model.AddEntitySet("AS", entityA);
model.AddEntitySet("BS", entityB);
var associationType
= model.AddAssociationType(
"M2M",
entityA,
RelationshipMultiplicity.Many,
entityB,
RelationshipMultiplicity.Many);
associationType.SetConfiguration(navigationPropertyConfiguration);
var navigationProperty
= entityB.AddNavigationProperty("As", associationType);
navigationProperty.SetClrPropertyInfo(mockPropertyInfo);
model.AddAssociationSet("M2MSet", associationType);
var databaseMapping
= new DatabaseMappingGenerator(ProviderRegistry.Sql2008_ProviderInfo, ProviderRegistry.Sql2008_ProviderManifest)
.Generate(model);
modelConfiguration.Configure(databaseMapping, ProviderRegistry.Sql2008_ProviderManifest);
Assert.True(databaseMapping.Database.Functions.Any(f => f.StoreFunctionNameAttribute == "AB_Delete"));
Assert.True(databaseMapping.Database.Functions.Any(f => f.StoreFunctionNameAttribute == "AB_Delete1"));
}
示例4: Configure_should_uniquify_unconfigured_assocation_function_names
public void Configure_should_uniquify_unconfigured_assocation_function_names()
{
var typeA = new MockType("A");
var typeB = new MockType("B").Property(typeA.AsCollection(), "As");
var mockPropertyInfo = typeB.GetProperty("As");
typeA.Property(typeB.AsCollection(), "Bs");
var modelConfiguration = new ModelConfiguration();
var navigationPropertyConfiguration
= modelConfiguration.Entity(typeB).Navigation(mockPropertyInfo);
navigationPropertyConfiguration.ModificationFunctionsConfiguration
= new ModificationFunctionsConfiguration();
var modificationFunctionConfiguration = new ModificationFunctionConfiguration();
modificationFunctionConfiguration.HasName("M2M_Delete");
navigationPropertyConfiguration.ModificationFunctionsConfiguration
.Insert(modificationFunctionConfiguration);
var model = new EdmModel(DataSpace.CSpace);
var entityA = model.AddEntityType("A");
entityA.Annotations.SetClrType(typeA);
entityA.SetConfiguration(modelConfiguration.Entity(typeA));
var entityB = model.AddEntityType("B");
entityB.Annotations.SetClrType(typeB);
entityB.SetConfiguration(modelConfiguration.Entity(typeB));
model.AddEntitySet("AS", entityA);
model.AddEntitySet("BS", entityB);
var associationType
= model.AddAssociationType(
"M2M",
entityA,
RelationshipMultiplicity.Many,
entityB,
RelationshipMultiplicity.Many);
associationType.SetConfiguration(navigationPropertyConfiguration);
var navigationProperty
= entityB.AddNavigationProperty("As", associationType);
navigationProperty.SetClrPropertyInfo(mockPropertyInfo);
model.AddAssociationSet("M2MSet", associationType);
var databaseMapping
= new DatabaseMappingGenerator(ProviderRegistry.Sql2008_ProviderManifest)
.Generate(model);
modelConfiguration.Configure(databaseMapping, ProviderRegistry.Sql2008_ProviderManifest);
Assert.True(databaseMapping.Database.Functions.Any(f => f.Name == "M2M_Delete"));
Assert.True(databaseMapping.Database.Functions.Any(f => f.Name == "M2M_Delete1"));
}
示例5: Apply_finds_inverse_when_optional_to_optional
public void Apply_finds_inverse_when_optional_to_optional()
{
var propertyInfo = typeof(BType3).GetInstanceProperty("A");
var modelConfiguration = new ModelConfiguration();
new InversePropertyAttributeConvention()
.Apply(
propertyInfo,
new ConventionTypeConfiguration(typeof(BType3), () => modelConfiguration.Entity(typeof(BType3)), modelConfiguration),
new InversePropertyAttribute("B"));
var navigationPropertyConfiguration
= modelConfiguration.Entity(typeof(BType3)).Navigation(propertyInfo);
Assert.Same(typeof(AType3).GetDeclaredProperty("B"), navigationPropertyConfiguration.InverseNavigationProperty);
}
示例6: ConfigureEdmMetadata
public static void ConfigureEdmMetadata(ModelConfiguration modelConfiguration)
{
DebugCheck.NotNull(modelConfiguration);
#pragma warning disable 612,618
modelConfiguration.Entity(typeof(EdmMetadata)).ToTable(TableName);
#pragma warning restore 612,618
}
示例7: ConfigureEdmMetadata
public static void ConfigureEdmMetadata(ModelConfiguration modelConfiguration)
{
//Contract.Requires(modelConfiguration != null);
#pragma warning disable 612,618
modelConfiguration.Entity(typeof(EdmMetadata)).ToTable(TableName);
#pragma warning restore 612,618
}
示例8: Add_entity_configuration_should_add_to_model_configuration
public void Add_entity_configuration_should_add_to_model_configuration()
{
var modelConfiguration = new ModelConfiguration();
var entityConfiguration = new EntityTypeConfiguration<object>();
new ConfigurationRegistrar(modelConfiguration).Add(entityConfiguration);
Assert.Same(entityConfiguration.Configuration, modelConfiguration.Entity(typeof(object)));
}
示例9: Apply_ignores_constraint_when_already_specified
public void Apply_ignores_constraint_when_already_specified()
{
var propertyInfo = typeof(BType3).GetInstanceProperty("A");
var modelConfiguration = new ModelConfiguration();
var navigationPropertyConfiguration
= modelConfiguration.Entity(typeof(BType3)).Navigation(propertyInfo);
navigationPropertyConfiguration.Constraint
= new ForeignKeyConstraintConfiguration(new[] { typeof(BType3).GetInstanceProperty("AId1") });
new ForeignKeyPrimitivePropertyAttributeConvention()
.Apply(
typeof(BType3).GetInstanceProperty("AId2"),
new ConventionTypeConfiguration(typeof(BType3), () => modelConfiguration.Entity(typeof(BType3)), modelConfiguration),
new ForeignKeyAttribute("A"));
var foreignKeyConstraint = (ForeignKeyConstraintConfiguration)navigationPropertyConfiguration.Constraint;
Assert.Equal(new[] { typeof(BType3).GetInstanceProperty("AId1") }, foreignKeyConstraint.ToProperties);
}
示例10: Configure_should_uniquify_unconfigured_function_names
public void Configure_should_uniquify_unconfigured_function_names()
{
var modelConfiguration = new ModelConfiguration();
var typeA = new MockType("A");
var typeB = new MockType("B");
modelConfiguration.Entity(typeA).MapToStoredProcedures();
var modificationFunctionsConfiguration
= new ModificationStoredProceduresConfiguration();
var modificationFunctionConfiguration = new ModificationStoredProcedureConfiguration();
modificationFunctionConfiguration.HasName("A_Insert");
modificationFunctionsConfiguration.Insert(modificationFunctionConfiguration);
modelConfiguration.Entity(typeB).MapToStoredProcedures(modificationFunctionsConfiguration, true);
var model = new EdmModel(DataSpace.CSpace);
var entityA = model.AddEntityType("A");
entityA.GetMetadataProperties().SetClrType(typeA);
entityA.SetConfiguration(modelConfiguration.Entity(typeA));
var entityB = model.AddEntityType("B");
entityB.GetMetadataProperties().SetClrType(typeB);
entityB.SetConfiguration(modelConfiguration.Entity(typeB));
model.AddEntitySet("AS", entityA);
model.AddEntitySet("BS", entityB);
var databaseMapping
= new DatabaseMappingGenerator(ProviderRegistry.Sql2008_ProviderInfo, ProviderRegistry.Sql2008_ProviderManifest)
.Generate(model);
modelConfiguration.Configure(databaseMapping, ProviderRegistry.Sql2008_ProviderManifest);
Assert.True(databaseMapping.Database.Functions.Any(f => f.StoreFunctionNameAttribute == "A_Insert"));
Assert.True(databaseMapping.Database.Functions.Any(f => f.StoreFunctionNameAttribute == "A_Insert1"));
}
示例11: Apply_finds_inverse_when_many_to_many
public void Apply_finds_inverse_when_many_to_many()
{
var mockTypeA = new MockType("A");
var mockTypeB = new MockType("B").Property(mockTypeA.AsCollection(), "As");
var mockPropertyInfo = mockTypeB.GetProperty("As");
mockTypeA.Property(mockTypeB.AsCollection(), "Bs");
var modelConfiguration = new ModelConfiguration();
new InversePropertyAttributeConvention()
.Apply(mockPropertyInfo, modelConfiguration, new InversePropertyAttribute("Bs"));
var navigationPropertyConfiguration
= modelConfiguration.Entity(mockTypeB).Navigation(mockPropertyInfo);
Assert.Same(mockTypeA.GetProperty("Bs"), navigationPropertyConfiguration.InverseNavigationProperty);
}
示例12: AddConfigurationTypesToModel_adds_entitytypeconfigurations_into_model
public void AddConfigurationTypesToModel_adds_entitytypeconfigurations_into_model()
{
var entityTypeConfiguration = new EntityTypeConfiguration(typeof(Random));
var filter = new Mock<ConfigurationTypeFilter>();
filter.Setup(f => f.IsEntityTypeConfiguration(It.IsAny<Type>())).Returns(true);
var activator = new Mock<ConfigurationTypeActivator>();
activator.Setup(a => a.Activate<EntityTypeConfiguration>(It.IsAny<Type>()))
.Returns(entityTypeConfiguration);
var finder = new ConfigurationTypesFinder(activator.Object, filter.Object);
var modelConfiguration = new ModelConfiguration();
finder.AddConfigurationTypesToModel(new[] { typeof(Object) }, modelConfiguration);
Assert.Same(entityTypeConfiguration, modelConfiguration.Entity(typeof(Random)));
}
示例13: ComplexTypes_returns_only_configured_non_ignored_complex_types
public void ComplexTypes_returns_only_configured_non_ignored_complex_types()
{
var modelConfiguration = new ModelConfiguration();
modelConfiguration.Entity(new MockType());
var mockComplexType = new MockType();
modelConfiguration.ComplexType(mockComplexType);
var mockIgnoredComplexType = new MockType();
modelConfiguration.ComplexType(mockIgnoredComplexType);
modelConfiguration.Ignore(mockIgnoredComplexType);
Assert.Same(mockComplexType.Object, modelConfiguration.ComplexTypes.Single());
}
示例14: Apply_throws_when_cannot_find_navigation_property
public void Apply_throws_when_cannot_find_navigation_property()
{
var modelConfiguration = new ModelConfiguration();
Assert.Equal(
Strings.ForeignKeyAttributeConvention_InvalidNavigationProperty("BId", typeof(AType1), "Missing"),
Assert.Throws<InvalidOperationException>(
() => new ForeignKeyPrimitivePropertyAttributeConvention()
.Apply(
typeof(AType1).GetInstanceProperty("BId"),
new ConventionTypeConfiguration(
typeof(AType1), () => modelConfiguration.Entity(typeof(AType1)), modelConfiguration),
new ForeignKeyAttribute("Missing"))).Message);
}
示例15: Configure_should_not_throw_when_only_derived_type_mapped_to_function_but_base_is_abstract
public void Configure_should_not_throw_when_only_derived_type_mapped_to_function_but_base_is_abstract()
{
var modelConfiguration = new ModelConfiguration();
modelConfiguration.Entity(typeof(BType2));
modelConfiguration.Entity(typeof(CType2)).MapToStoredProcedures();
var model = new EdmModel(DataSpace.CSpace);
var baseEntity = model.AddEntityType("Base");
baseEntity.GetMetadataProperties().SetClrType(typeof(BType2));
baseEntity.Abstract = true;
var derivedEntity = model.AddEntityType("Derived");
derivedEntity.GetMetadataProperties().SetClrType(typeof(CType2));
derivedEntity.BaseType = baseEntity;
modelConfiguration.Configure(model);
Assert.NotNull(modelConfiguration.Entity(typeof(BType2)).ModificationStoredProceduresConfiguration);
Assert.NotNull(modelConfiguration.Entity(typeof(CType2)).ModificationStoredProceduresConfiguration);
}