/// <summary> /// 构造函数 /// </summary> /// <param name="memberInfo">映射成员信息</param> /// <param name="fieldName">数据库字段名</param> /// <param name="dbOpType">数据库字段操作类型</param> public DBColumn(MemberInfo memberInfo, string fieldName, string dbType, bool notNull, string defaultVal, DBColumnOpType dbOpType = DBFrame.DBColumnOpType.All) { _objHelper = new ObjectHelper(); if (memberInfo is PropertyInfo) { PropertyInfo = (PropertyInfo)memberInfo; Type = PropertyInfo.PropertyType; } else if (memberInfo is FieldInfo) { FieldInfo = (FieldInfo)memberInfo; Type = FieldInfo.FieldType; } else { throw new MyDBException("在构造DBColumn[" + memberInfo.Name + "]时,传入了无效的类型!"); } if (Type.IsGenericType && Type.GetGenericTypeDefinition() == typeof(Nullable <>)) { Type = Nullable.GetUnderlyingType(Type); } GetHandler = _objHelper.CreateDegGetValue(memberInfo.DeclaringType, memberInfo.Name); SetHandler = _objHelper.CreateDegSetValue(memberInfo.DeclaringType, memberInfo.Name); ColumnType = GetColumnType(Type); Name = fieldName; AliasName = memberInfo.Name; DBColumnOpType = dbOpType; this.DataType = dbType; this.NotNull = notNull; this.Default = defaultVal; }
/// <summary> /// 构造函数 /// </summary> /// <param name="fieldName">数据库字段名称</param> /// <param name="isIdentity">字段操作类型</param> public DBColumnAttribute(string fieldName, DBColumnOpType dbColOpType) : this(fieldName, string.Empty, string.Empty, false) { }