Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        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);
                    }
                }
            }
        }
Exemplo n.º 3
0
        /// <summary>根据类型获取表名称
        /// </summary>
        protected static string GetTableName(Type type)
        {
            var entityMap = FluentMapConfiguration.GetMap(type);

            return(entityMap == null ? type.Name : entityMap.TableName);
        }