コード例 #1
0
ファイル: MyEntity.cs プロジェクト: diwu0510/MyOrm
        public MyEntity(Type type)
        {
            Name          = type.Name;
            IsSoftDelete  = type.IsInstanceOfType(typeof(ISoftDelete));
            IsCreateAudit = type.IsInstanceOfType(typeof(ICreateAudit));
            IsUpdateAudit = type.IsInstanceOfType(typeof(IUpdateAudit));

            var tableAttr = type.GetCustomAttributes(typeof(MyTableAttribute), false);

            if (tableAttr.Length > 0)
            {
                var tableName = ((MyTableAttribute)tableAttr[0]).TableName;
                TableName = string.IsNullOrWhiteSpace(tableName) ? type.Name.Replace("Entity", "") : tableName;
            }
            else
            {
                TableName = Name;
            }

            Properties = new List <MyProperty>();

            foreach (var propertyInfo in type.GetProperties())
            {
                var property = new MyProperty(propertyInfo);
                if (property.IsKey)
                {
                    KeyColumn = property.FieldName;
                }
                Properties.Add(property);
                MyEntityMapperContainer.Add($"{Name}-{property.Name}", property.FieldName);
            }
        }
コード例 #2
0
ファイル: MyEntity.cs プロジェクト: diwu0510/MyOrm
 public string GetFiledName(string propertyName)
 {
     return(MyEntityMapperContainer.Get(propertyName));
 }