本文整理汇总了C#中System.Data.Entity.Edm.EdmModel.AddEntityType方法的典型用法代码示例。如果您正苦于以下问题:C# EdmModel.AddEntityType方法的具体用法?C# EdmModel.AddEntityType怎么用?C# EdmModel.AddEntityType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Entity.Edm.EdmModel
的用法示例。
在下文中一共展示了EdmModel.AddEntityType方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetClrTypes_should_return_ospace_types
public void GetClrTypes_should_return_ospace_types()
{
var model = new EdmModel().Initialize();
model.AddEntityType("A").SetClrType(typeof(object));
model.AddEntityType("B").SetClrType(typeof(string));
Assert.Equal(2, model.GetClrTypes().Count());
}
示例2: HasCascadeDeletePath_should_return_true_for_simple_cascade
public void HasCascadeDeletePath_should_return_true_for_simple_cascade()
{
var model = new EdmModel().Initialize();
var entityTypeA = model.AddEntityType("A");
var entityTypeB = model.AddEntityType("B");
var associationType = new EdmAssociationType().Initialize();
associationType.SourceEnd.EntityType = entityTypeA;
associationType.TargetEnd.EntityType = entityTypeB;
associationType.SourceEnd.DeleteAction = EdmOperationAction.Cascade;
model.AddAssociationType(associationType);
Assert.True(model.HasCascadeDeletePath(entityTypeA, entityTypeB));
Assert.False(model.HasCascadeDeletePath(entityTypeB, entityTypeA));
}
示例3: Configure_should_configure_inverse
public void Configure_should_configure_inverse()
{
var inverseMockPropertyInfo = new MockPropertyInfo();
var navigationPropertyConfiguration = new NavigationPropertyConfiguration(new MockPropertyInfo())
{
InverseNavigationProperty = inverseMockPropertyInfo
};
var associationType = new EdmAssociationType().Initialize();
var inverseAssociationType = new EdmAssociationType().Initialize();
var model = new EdmModel().Initialize();
model.AddAssociationType(inverseAssociationType);
var inverseNavigationProperty
= model.AddEntityType("T")
.AddNavigationProperty("N", inverseAssociationType);
inverseNavigationProperty.SetClrPropertyInfo(inverseMockPropertyInfo);
navigationPropertyConfiguration.Configure(
new EdmNavigationProperty
{
Association = associationType
}, model, new EntityTypeConfiguration(typeof(object)));
Assert.Same(associationType, inverseNavigationProperty.Association);
Assert.Same(associationType.SourceEnd, inverseNavigationProperty.ResultEnd);
Assert.Equal(0, model.GetAssociationTypes().Count());
}
示例4: Generate_should_correctly_map_string_primitive_property_facets
public void Generate_should_correctly_map_string_primitive_property_facets()
{
var model = new EdmModel().Initialize();
var entityType = model.AddEntityType("E");
entityType.SetClrType(typeof(object));
model.AddEntitySet("ESet", entityType);
var property = entityType.AddPrimitiveProperty("P");
property.PropertyType.EdmType = EdmPrimitiveType.String;
property.PropertyType.IsNullable = false;
property.PropertyType.PrimitiveTypeFacets.IsFixedLength = true;
property.PropertyType.PrimitiveTypeFacets.IsMaxLength = true;
property.PropertyType.PrimitiveTypeFacets.IsUnicode = true;
property.PropertyType.PrimitiveTypeFacets.MaxLength = 42;
property.PropertyType.PrimitiveTypeFacets.Precision = 23;
property.PropertyType.PrimitiveTypeFacets.Scale = 77;
property.SetStoreGeneratedPattern(DbStoreGeneratedPattern.Identity);
var databaseMapping = new DatabaseMappingGenerator(ProviderRegistry.Sql2008_ProviderManifest).Generate(model);
var column = databaseMapping.GetEntityTypeMapping(entityType).TypeMappingFragments.Single().PropertyMappings.Single().Column;
Assert.False(column.IsNullable);
Assert.Null(column.Facets.IsFixedLength);
Assert.Equal(true, column.Facets.IsMaxLength);
Assert.Null(column.Facets.IsUnicode);
Assert.Equal(42, column.Facets.MaxLength);
Assert.Null(column.Facets.Precision);
Assert.Null(column.Facets.Scale);
Assert.Equal(DbStoreGeneratedPattern.Identity, column.StoreGeneratedPattern);
}
示例5: ApplyModel_should_run_targeted_model_conventions
public void ApplyModel_should_run_targeted_model_conventions()
{
var model = new EdmModel().Initialize();
var entityType = model.AddEntityType("E");
var mockConvention = new Mock<IEdmConvention<EdmEntityType>>();
var conventionsConfiguration = new ConventionsConfiguration(new IConvention[]
{
mockConvention.Object
});
conventionsConfiguration.ApplyModel(model);
mockConvention.Verify(c => c.Apply(entityType, model), Times.AtMostOnce());
}
示例6: CreateSimpleModel
private static DbDatabaseMapping CreateSimpleModel(double version)
{
var model = new EdmModel().Initialize(version);
var entityType = model.AddEntityType("E");
entityType.SetClrType(typeof(object));
model.AddEntitySet("ESet", entityType);
var property = entityType.AddPrimitiveProperty("Id");
property.PropertyType.EdmType = EdmPrimitiveType.Int32;
property.PropertyType.IsNullable = false;
entityType.DeclaredKeyProperties.Add(property);
return new DatabaseMappingGenerator(ProviderRegistry.Sql2008_ProviderManifest).Generate(model);
}
示例7: Apply_generates_constraint_when_simple_fk
public void Apply_generates_constraint_when_simple_fk()
{
var model = new EdmModel().Initialize();
var entityType = model.AddEntityType("E");
var associationType = model.AddAssociationType("A",
entityType, EdmAssociationEndKind.Optional,
entityType, EdmAssociationEndKind.Many);
var navigationProperty = entityType.AddNavigationProperty("N", associationType);
var fkProperty = entityType.AddPrimitiveProperty("Fk");
var foreignKeyAnnotation = new ForeignKeyAttribute("Fk");
navigationProperty.Annotations.SetClrAttributes(new[] { foreignKeyAnnotation });
((IEdmConvention<EdmNavigationProperty>)new ForeignKeyNavigationPropertyAttributeConvention())
.Apply(navigationProperty, model);
Assert.NotNull(associationType.Constraint);
Assert.True(associationType.Constraint.DependentProperties.Contains(fkProperty));
}
示例8: Configure_should_configure_active_entities_and_complex_types
public void Configure_should_configure_active_entities_and_complex_types()
{
var mockEntityType = new MockType();
var mockComplexType = new MockType();
var model = new EdmModel().Initialize();
var entityType = model.AddEntityType("E");
entityType.SetClrType(mockEntityType);
var complexType = model.AddComplexType("C");
complexType.SetClrType(mockComplexType);
var modelConfiguration = new ModelConfiguration();
var mockComplexTypeConfiguration = new Mock<ComplexTypeConfiguration>(mockComplexType.Object);
var mockEntityTypeConfiguration = new Mock<EntityTypeConfiguration>(mockEntityType.Object);
modelConfiguration.Add(mockComplexTypeConfiguration.Object);
modelConfiguration.Add(mockEntityTypeConfiguration.Object);
modelConfiguration.Configure(model);
mockComplexTypeConfiguration.Verify(c => c.Configure(complexType));
mockEntityTypeConfiguration.Verify(c => c.Configure(entityType, model));
}
示例9: Generate_can_map_a_simple_entity_type_and_set
public void Generate_can_map_a_simple_entity_type_and_set()
{
var model = new EdmModel().Initialize();
var entityType = model.AddEntityType("E");
entityType.SetClrType(typeof(object));
entityType.AddPrimitiveProperty("P1").PropertyType.EdmType = EdmPrimitiveType.Int32;
entityType.AddPrimitiveProperty("P2").PropertyType.EdmType = EdmPrimitiveType.String;
var entitySet = model.AddEntitySet("ESet", entityType);
var databaseMapping = new DatabaseMappingGenerator(ProviderRegistry.Sql2008_ProviderManifest).Generate(model);
var entitySetMapping = databaseMapping.GetEntitySetMapping(entitySet);
Assert.NotNull(entitySetMapping);
Assert.Same(entitySet, entitySetMapping.EntitySet);
var entityTypeMapping = entitySetMapping.EntityTypeMappings.Single();
Assert.Same(entityType, entityTypeMapping.EntityType);
Assert.NotNull(entityTypeMapping.TypeMappingFragments.Single().Table);
Assert.Equal("E", entityTypeMapping.TypeMappingFragments.Single().Table.Name);
Assert.Equal(2, entityTypeMapping.TypeMappingFragments.Single().Table.Columns.Count);
Assert.Equal(typeof(object), entityTypeMapping.GetClrType());
}
示例10: Generate_should_map_entity_keys_to_primary_keys
public void Generate_should_map_entity_keys_to_primary_keys()
{
var model = new EdmModel().Initialize();
var entityType = model.AddEntityType("E");
entityType.SetClrType(typeof(object));
var idProperty = entityType.AddPrimitiveProperty("Id");
idProperty.PropertyType.EdmType = EdmPrimitiveType.Int32;
entityType.DeclaredKeyProperties.Add(idProperty);
var entitySet = model.AddEntitySet("ESet", entityType);
var databaseMapping = new DatabaseMappingGenerator(ProviderRegistry.Sql2008_ProviderManifest).Generate(model);
var entitySetMapping = databaseMapping.GetEntitySetMapping(entitySet);
var entityTypeMapping = entitySetMapping.EntityTypeMappings.Single();
Assert.Equal(1, entityTypeMapping.TypeMappingFragments.Single().Table.KeyColumns.Count());
Assert.Equal("Id", entityTypeMapping.TypeMappingFragments.Single().Table.KeyColumns.Single().Name);
Assert.True(entityTypeMapping.TypeMappingFragments.Single().Table.KeyColumns.Single().IsPrimaryKeyColumn);
}
示例11: GetDerivedTypes_must_return_list_of_direct_descendants
public void GetDerivedTypes_must_return_list_of_direct_descendants()
{
var model = new EdmModel().Initialize();
var entity1 = model.AddEntityType("E1");
var entity2 = model.AddEntityType("E2");
var entity3 = model.AddEntityType("E3");
var entity4 = model.AddEntityType("E4");
entity2.BaseType = entity1;
entity3.BaseType = entity1;
entity4.BaseType = entity2;
var derivedTypes = model.GetDerivedTypes(entity1).ToList();
Assert.Equal(2, derivedTypes.Count);
Assert.Same(entity2, derivedTypes[0]);
Assert.Same(entity3, derivedTypes[1]);
}
示例12: AddAssociationSet_should_create_and_add_to_default_container
public void AddAssociationSet_should_create_and_add_to_default_container()
{
var model = new EdmModel().Initialize();
var sourceEntityType = model.AddEntityType("Source");
var targetEntityType = model.AddEntityType("Target");
var associationType = model.AddAssociationType(
"Foo",
sourceEntityType, EdmAssociationEndKind.Required,
targetEntityType, EdmAssociationEndKind.Many);
var associationSet = model.AddAssociationSet("FooSet", associationType);
Assert.NotNull(associationSet);
Assert.Equal("FooSet", associationSet.Name);
Assert.Same(associationType, associationSet.ElementType);
Assert.True(model.Containers.Single().AssociationSets.Contains(associationSet));
}
示例13: AddAssociationType_should_create_and_add_to_default_namespace
public void AddAssociationType_should_create_and_add_to_default_namespace()
{
var model = new EdmModel().Initialize();
var sourceEntityType = model.AddEntityType("Source");
var targetEntityType = model.AddEntityType("Target");
var associationType = model.AddAssociationType(
"Foo",
sourceEntityType, EdmAssociationEndKind.Required,
targetEntityType, EdmAssociationEndKind.Many);
Assert.NotNull(associationType);
Assert.Equal("Foo", associationType.Name);
Assert.Same(sourceEntityType, associationType.SourceEnd.EntityType);
Assert.Equal(EdmAssociationEndKind.Required, associationType.SourceEnd.EndKind);
Assert.Same(targetEntityType, associationType.TargetEnd.EntityType);
Assert.Equal(EdmAssociationEndKind.Many, associationType.TargetEnd.EndKind);
Assert.True(model.Namespaces.Single().AssociationTypes.Contains(associationType));
}
示例14: RemoveEntityType_should_remove_type_and_set
public void RemoveEntityType_should_remove_type_and_set()
{
var model = new EdmModel().Initialize();
var entityType = model.AddEntityType("Foo");
model.AddEntitySet("FooSet", entityType);
model.RemoveEntityType(entityType);
Assert.Equal(0, model.GetEntityTypes().Count());
Assert.Equal(0, model.Containers.First().EntitySets.Count());
}
示例15: AddEntitySet_should_create_and_add_to_default_container
public void AddEntitySet_should_create_and_add_to_default_container()
{
var model = new EdmModel().Initialize();
var entityType = model.AddEntityType("Foo");
var entitySet = model.AddEntitySet("FooSet", entityType);
Assert.NotNull(entitySet);
Assert.Equal("FooSet", entitySet.Name);
Assert.Same(entityType, entitySet.ElementType);
Assert.True(model.Containers.Single().EntitySets.Contains(entitySet));
}