/// <summary>获取属性映射的数据库字段的名称 /// </summary> protected static string GetMapName(MemberInfo memberInfo) { var entityMap = FluentMapConfiguration.GetMap(memberInfo.DeclaringType); var propertyMap = entityMap?.PropertyMaps.FirstOrDefault(x => x.PropertyInfo.Name == memberInfo.Name); return(propertyMap == null ? memberInfo.Name : propertyMap.ColumnName); }
public void FluentMapConfiguration_Test() { var assemblyList = new List <Assembly>() { Assembly.GetExecutingAssembly() }; FluentMapConfiguration.Register(() => new TestMapUser()); FluentMapConfiguration.Initialize(assemblyList); var entityMap = FluentMapConfiguration.GetMap(typeof(TestUser)); var entityMap1 = FluentMapConfiguration.GetMap <TestUser>(); Assert.Equal(entityMap, entityMap1); Assert.Equal("T1", entityMap.TableName); Assert.Equal(3, entityMap.PropertyMaps.Count); var type = typeof(TestUser); Assert.Equal(type, entityMap.GetEntityType()); foreach ( var propertyInfo in type.GetProperties(BindingFlags.GetProperty | BindingFlags.Instance | BindingFlags.Public)) { var propertyMap = entityMap.PropertyMaps.FirstOrDefault(x => x.PropertyInfo == propertyInfo); if (propertyMap != null) { if (propertyInfo.Name == "UserId") { Assert.Equal("uid", propertyMap.ColumnName); } if (propertyInfo.Name == "UserName") { Assert.Equal("tb_UserName", propertyMap.ColumnName); } if (propertyInfo.Name == "Age") { Assert.Equal(true, propertyMap.Ignored); } } } }
/// <summary>根据类型获取表名称 /// </summary> protected static string GetTableName(Type type) { var entityMap = FluentMapConfiguration.GetMap(type); return(entityMap == null ? type.Name : entityMap.TableName); }