Beispiel #1
0
        /// <summary>
        /// 自增标识/关键字成员位图
        /// </summary>
        /// <returns></returns>
        internal static MemberMap <valueType> GetIdentityOrPrimaryKeyMemberMap()
        {
            MemberMap <valueType> memberMap = MemberMap <valueType> .NewEmpty();

            SetIdentityOrPrimaryKeyMemberMap(memberMap);
            return(memberMap);
        }
Beispiel #2
0
        /// <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);
            }
        }