当前位置: 首页>>代码示例>>C#>>正文


C# IPropertyMap.GetAllIdColumnMaps方法代码示例

本文整理汇总了C#中IPropertyMap.GetAllIdColumnMaps方法的典型用法代码示例。如果您正苦于以下问题:C# IPropertyMap.GetAllIdColumnMaps方法的具体用法?C# IPropertyMap.GetAllIdColumnMaps怎么用?C# IPropertyMap.GetAllIdColumnMaps使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IPropertyMap的用法示例。


在下文中一共展示了IPropertyMap.GetAllIdColumnMaps方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetListPropertySubselectAndAlias

        public virtual void GetListPropertySubselectAndAlias(IPropertyMap propertyMap, object hash, Hashtable columns, ArrayList order, string propPath, string suggestion)
        {
            if (hash == null) { hash = propertyMap; }
            ITableMap listTableMap = propertyMap.MustGetTableMap();
            ITableMap parentTableMap = propertyMap.ClassMap.MustGetTableMap();
            SqlTableAlias parentTable = sqlEmitter.GetTableAlias(parentTableMap, hash);

            SqlSelectStatement subSelect = new SqlSelectStatement(parentTableMap.SourceMap);

            //Hmmm....can an alias be redefined in a subselect?
            //SqlTableAlias listTable = subSelect.GetSqlTableAlias(listTableMap, "cnt" + subSelect.GetNextTableAliasIndex());
            SqlTableAlias listTable = subSelect.GetSqlTableAlias(listTableMap, "cnt" + sqlEmitter.Select.GetNextTableAliasIndex());

            SqlCountFunction count = new SqlCountFunction();

            subSelect.SqlSelectClause.AddSqlAliasSelectListItem(count);

            subSelect.SqlFromClause.AddSqlAliasTableSource(listTable);

            foreach (IColumnMap fkIdColumnMap in propertyMap.GetAllIdColumnMaps())
            {
                IColumnMap idColumnMap = fkIdColumnMap.MustGetPrimaryKeyColumnMap();

                SqlColumnAlias fkIdColumn = listTable.GetSqlColumnAlias(fkIdColumnMap);
                SqlColumnAlias idColumn = parentTable.GetSqlColumnAlias(idColumnMap);
                SqlSearchCondition search = subSelect.SqlWhereClause.GetNextSqlSearchCondition();

                search.GetSqlComparePredicate(fkIdColumn, SqlCompareOperatorType.Equals, idColumn);
            }

            if (suggestion == "")
                suggestion = propPath;

            SqlAliasSelectListItem countAlias = this.sqlEmitter.Select.SqlSelectClause.AddSqlAliasSelectListItem(subSelect, suggestion);
            this.sqlEmitter.PropertyColumnMap[propPath] = countAlias.SqlExpressionAlias.Alias;
        }
开发者ID:BackupTheBerlios,项目名称:puzzle-svn,代码行数:36,代码来源:PropertyPathTraverser.cs

示例2: JoinNonPrimary

        private void JoinNonPrimary(IPropertyMap iPropertyMap)
        {
            foreach (IColumnMap idColumn in iPropertyMap.GetAllIdColumnMaps() )
            {
                SqlTableAlias thisTableAlias =  this.sqlEmitter.Select.GetSqlTableAlias(idColumn.TableMap.Name);
                SqlColumnAlias thisColAlias =  thisTableAlias.GetSqlColumnAlias(idColumn.Name) ;

                SqlTableAlias parentTableAlias =  this.sqlEmitter.Select.GetSqlTableAlias(idColumn.PrimaryKeyTable);
                SqlColumnAlias parentColAlias =  parentTableAlias.GetSqlColumnAlias(idColumn.PrimaryKeyColumn) ;

                if (!joinedNonPrimaries.ContainsKey(thisColAlias))
                {
                    if (!(joinedNonPrimaries[thisColAlias] == parentColAlias))
                    {
                        SqlSearchCondition search = this.sqlEmitter.Select.SqlWhereClause.GetNextSqlSearchCondition();
                        search.GetSqlComparePredicate(parentColAlias, SqlCompareOperatorType.Equals, thisColAlias);

                        joinedNonPrimaries[thisColAlias] = parentColAlias;
                    }
                }
            }
        }
开发者ID:BackupTheBerlios,项目名称:puzzle-svn,代码行数:22,代码来源:PropertyPathTraverser.cs


注:本文中的IPropertyMap.GetAllIdColumnMaps方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。