public void MapNullablePropertyWithRequiredAttributeExectedException() { var mappedType = TypeMapperFactory.Create().Map <Person>(); Action action = () => mappedType.Primitives.ForEach(x => { }); action.Should().Throw <ArgumentException>(); }
public ModelAnnotationsMapper( TypeConvention <object, object> typeConvention, IKeyConvention keyConvention, IVersionConvention versionConvention) { var conventions = new TypeMapperConventions(null, null, null, typeConvention, keyConvention, versionConvention); typeMapper = TypeMapperFactory.Create(conventions); }
public void CheckMappingOfAggregate() { var mappedType = TypeMapperFactory.Create().Map <Blog>(); mappedType.Primitives.Count().Should().Be(1, "Primitives member are retrieved. Expected none."); mappedType.References.Count().Should().Be(0, "References member are retrieved. Expected none."); var collection = mappedType.Collections.Single(); collection.Name.Should().Be("PostList"); collection.Type.Should().Be(typeof(IList <Post>)); }
public void CheckMappingOfVersionedEntity() { var mappedType = TypeMapperFactory .CreateByConventions(null, null, new VersionConvention()) .Map <VersionedEntity>(); mappedType.Primitives.Single() .Name.Should().Be("Name"); mappedType.Version .Name.Should().Be("Version"); }
public void CheckMappingOfVersionedEntity() { var mappedType = TypeMapperFactory .CreateByConventions(null, null, new VersionConvention()) .Map <VersionedEntityWithBlob>(); mappedType .Primitives .Select(x => x.Name) .Should().BeEquivalentTo("Name", "Data"); mappedType.Version .Name.Should().Be("Version"); }
private static T GetCamelCaseModelObject <T>(T modelObject, string database, GenerationSettings settings) where T : BaseTable, IMetaData { bool isCamelCaseName = settings.IsCamelCaseName; bool isDynamicLanguage = ConfigManager.SettingsSection.Languages[settings.Language].IsDynamic; string languageAlias = ConfigManager.SettingsSection.Languages[settings.Language].Alias; if (!isCamelCaseName && isDynamicLanguage) { return(modelObject); } ITypeMapper typeMapper = null; if (!isDynamicLanguage) { typeMapper = TypeMapperFactory.Creator(); } string typeMappingDatabase = ConfigManager.SettingsSection.Databases[database].TypeMapping; foreach (var column in modelObject.Columns.Values) { if (isCamelCaseName) { column.Name = column.OriginalName.CamelCaseName(); } if (typeMapper != null) { LanguageType langType = typeMapper.GetLanguageType(typeMappingDatabase, languageAlias, column.DataType); if (langType == null) { continue; } column.LanguageType = langType.TypeName; column.LanguageDefaultValue = string.IsNullOrEmpty(column.DefaultValue) ? langType.DefaultValue : column.DefaultValue; column.LanguageTypeAlias = langType.Alias; } } return(modelObject); }
public ModelAnnotationsMapper(TypeMapperConventions conventions) { typeMapper = TypeMapperFactory.Create(conventions); }