/// <summary> /// 自增标识/关键字成员位图 /// </summary> /// <returns></returns> internal static MemberMap <valueType> GetIdentityOrPrimaryKeyMemberMap() { MemberMap <valueType> memberMap = MemberMap <valueType> .NewEmpty(); SetIdentityOrPrimaryKeyMemberMap(memberMap); return(memberMap); }
/// <summary> /// 设置真实成员位图 /// </summary> /// <typeparam name="valueType"></typeparam> /// <typeparam name="modelType"></typeparam> /// <param name="sqlTool"></param> /// <param name="memberMap"></param> internal override void SetRealMemberMap <valueType, modelType>(Sql.Table <valueType, modelType> sqlTool, MemberMap <modelType> memberMap) { if (sqlTool.Attribute.IsSetRealMemberMap) { MemberMap <modelType> realMemberMap = MemberMap <modelType> .NewEmpty(); using (DbConnection connection = GetConnection()) using (DbCommand command = getCommand(connection, "select top 1 * from [" + sqlTool.TableName + "]", CommandType.Text)) using (DataSet dataSet = getDataSet(command)) { foreach (DataColumn dataColumn in dataSet.Tables[0].Columns) { realMemberMap.SetMember(dataColumn.ColumnName); } } memberMap.And(realMemberMap); } }