public void GetPrimitiveProperties_should_return_only_primitive_properties() { var entityType = new EdmEntityType(); var property = entityType.AddPrimitiveProperty("Foo"); property.PropertyType.EdmType = EdmPrimitiveType.DateTime; entityType.AddComplexProperty("Bar", new EdmComplexType()); Assert.Equal(1, entityType.GetDeclaredPrimitiveProperties().Count()); Assert.True(entityType.GetDeclaredPrimitiveProperties().Contains(property)); }
public void AddComplexProperty_should_create_and_add_complex_property() { var entityType = new EdmEntityType(); var complexType = new EdmComplexType(); var property = entityType.AddComplexProperty("Foo", complexType); Assert.NotNull(property); Assert.Equal("Foo", property.Name); Assert.Same(complexType, property.PropertyType.ComplexType); Assert.True(entityType.DeclaredProperties.Contains(property)); }
public void Generate_should_flatten_complex_properties_to_columns() { var databaseMapping = CreateEmptyModel(); var entityType = new EdmEntityType { Name = "E" }; var complexType = new EdmComplexType { Name = "C" }; complexType.AddPrimitiveProperty("P1").PropertyType.EdmType = EdmPrimitiveType.Int32; entityType.AddComplexProperty("C1", complexType); entityType.AddPrimitiveProperty("P2").PropertyType.EdmType = EdmPrimitiveType.String; var entitySet = databaseMapping.Model.AddEntitySet("ESet", entityType); entityType.SetClrType(typeof(object)); new EntityTypeMappingGenerator(ProviderRegistry.Sql2008_ProviderManifest).Generate(entityType, databaseMapping); var entityTypeMappingFragment = databaseMapping.GetEntitySetMapping(entitySet).EntityTypeMappings.Single().TypeMappingFragments.Single(); Assert.Equal(2, entityTypeMappingFragment.PropertyMappings.Count()); Assert.Equal(2, entityTypeMappingFragment.Table.Columns.Count()); }