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


C# IPropertyMap.GetAdditionalIdColumnMaps方法代码示例

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


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

示例1: PropertyIsPartOfCompositeIdentityRelationship

		protected virtual bool PropertyIsPartOfCompositeIdentityRelationship(IPropertyMap propertyMap)
		{
			if (propertyMap.ReferenceType != ReferenceType.None)
				if (propertyMap.GetAdditionalIdColumnMaps().Count > 0) 
					return true;
			return false;
		}
开发者ID:Dawn-of-Light,项目名称:Puzzle.NET,代码行数:7,代码来源:PersistenceManager.cs

示例2: GetRemoveCollectionPropertyStatement

		protected virtual string GetRemoveCollectionPropertyStatement(object obj, IPropertyMap propertyMap, IList parameters)
		{
			IClassMap classMap;
			IColumnMap idColumnMap;
			IPropertyMap idPropertyMap;
			ITableMap tableMap;
			string paramName = "";
			IObjectManager om = m_SqlEngineManager.Context.ObjectManager;
			classMap = propertyMap.ClassMap;
			tableMap = propertyMap.MustGetTableMap();

			SqlDeleteStatement delete = new SqlDeleteStatement(tableMap.SourceMap) ; 
			SqlTableAlias table = delete.GetSqlTableAlias(tableMap);

			delete.SqlFromClause.AddSqlAliasTableSource(table);

			idColumnMap = propertyMap.GetIdColumnMap();
			SqlColumnAlias idColumn = table.GetSqlColumnAlias(idColumnMap);
			idPropertyMap = classMap.MustGetPropertyMapForColumnMap(idColumnMap.MustGetPrimaryKeyColumnMap());
			
			paramName = GetParameterName(idPropertyMap, "Id_");
			SqlParameter param =  AddSqlParameter(delete, parameters, paramName, obj, idPropertyMap, om.GetPropertyValue(obj, idPropertyMap.Name), idColumnMap);

			SqlSearchCondition search = delete.SqlWhereClause.GetNextSqlSearchCondition();
			search.GetSqlComparePredicate(idColumn, SqlCompareOperatorType.Equals,  param);

			foreach (IColumnMap iIdColumnMap in propertyMap.GetAdditionalIdColumnMaps())
			{
				idColumnMap = iIdColumnMap;
				idColumn = table.GetSqlColumnAlias(idColumnMap);

				paramName = GetParameterName(propertyMap, idColumnMap, "Id_");
				if (!(classMap.GetTypeColumnMap() == null && classMap.GetTypeColumnMap() == idColumnMap.MustGetPrimaryKeyColumnMap()))
				{
					param = AddSqlParameter(delete, parameters, paramName, obj, null, classMap.TypeValue, idColumnMap, true);
				}
				else
				{
					idPropertyMap = classMap.MustGetPropertyMapForColumnMap(idColumnMap.MustGetPrimaryKeyColumnMap());
					param = AddSqlParameter(delete, parameters, paramName, obj, idPropertyMap, om.GetPropertyValue(obj, idPropertyMap.Name), idColumnMap);
				}
				search = delete.SqlWhereClause.GetNextSqlSearchCondition();
				search.GetSqlComparePredicate(idColumn, SqlCompareOperatorType.Equals,  param);
								
			}
			return GenerateSql(delete);
		}
开发者ID:Dawn-of-Light,项目名称:Puzzle.NET,代码行数:47,代码来源:SqlEngineBase.cs

示例3: GetSelectManyManyPropertyStatement


//.........这里部分代码省略.........
					SqlColumnAlias refColumn = select.GetSqlColumnAlias(refColumnMap);
					colName = refColumnMap.Name;
					if (refPropertyMap.IsIdentity)
						idColumns.Add(colName);

					if (!(refPropertyMap.LazyLoad))
					{
						select.SqlSelectClause.AddSqlAliasSelectListItem(refColumn);

						hashPropertyColumnMap[refPropertyMap.Name] = colName;
						if (refPropertyMap == orderByMap)
							select.SqlOrderByClause.AddSqlOrderByItem(refColumn);
					}
				}
			}
			typeColumnMap = classMap.GetTypeColumnMap();
			if (typeColumnMap != null)
			{
				typeColumns.Add(typeColumnMap.Name);
				SqlColumnAlias typeColumn = select.GetSqlColumnAlias(typeColumnMap);
				select.SqlSelectClause.AddSqlAliasSelectListItem(typeColumn);
			}
			select.SqlFromClause.AddSqlAliasTableSource(table);
			select.SqlFromClause.AddSqlAliasTableSource(joinTable);

			//if (tableMap.SourceMap.Schema.ToLower(CultureInfo.InvariantCulture) == myTableMap.SourceMap.Schema.ToLower(CultureInfo.InvariantCulture) && tableMap.Name.ToLower(CultureInfo.InvariantCulture) == myTableMap.Name.ToLower(CultureInfo.InvariantCulture))
			if (tableMap == myTableMap)
				myTable = select.GetSqlTableAlias(myTableMap, "NPersistSelfRefTable");
			else
				myTable = select.GetSqlTableAlias(myTableMap);

			SqlColumnAlias myColumn = myTable.GetSqlColumnAlias(myColumnMap);

			select.SqlFromClause.AddSqlAliasTableSource(myTable);

			SqlSearchCondition search = select.SqlWhereClause.GetNextSqlSearchCondition();
			search.GetSqlComparePredicate(forColumn, SqlCompareOperatorType.Equals,  colColumn);

			foreach (IColumnMap iAddColumnMap in propertyMap.GetAdditionalColumnMaps())
			{
				addColumnMap = iAddColumnMap;
				addMyColumnMap = addColumnMap.MustGetPrimaryKeyColumnMap();
				if (addMyColumnMap == null)
					throw new MappingException("ColumnMap '" + addColumnMap.PrimaryKeyColumn + "' Not Found!"); // do not localize

				SqlColumnAlias addColumn = forTable.GetSqlColumnAlias(addColumnMap);
				SqlColumnAlias addMyColumn = joinTable.GetSqlColumnAlias(addMyColumnMap);

				search = select.SqlWhereClause.GetNextSqlSearchCondition();
				search.GetSqlComparePredicate(addColumn, SqlCompareOperatorType.Equals,  addMyColumn);
			}
			search = select.SqlWhereClause.GetNextSqlSearchCondition();
			search.GetSqlComparePredicate(idColumn, SqlCompareOperatorType.Equals,  myColumn);

			foreach (IColumnMap iAddIdColumnMap in propertyMap.GetAdditionalIdColumnMaps())
			{
				addIdColumnMap = iAddIdColumnMap;
				addMyTableMap = addIdColumnMap.MustGetPrimaryKeyTableMap();
				addMyColumnMap = addIdColumnMap.MustGetPrimaryKeyColumnMap();

				if (addMyTableMap == null)
					throw new MappingException("TableMap '" + addIdColumnMap.PrimaryKeyTable + "' Not Found!"); // do not localize
				if (addMyColumnMap == null)
					throw new MappingException("ColumnMap '" + addIdColumnMap.PrimaryKeyColumn + "' Not Found!"); // do not localize

				SqlColumnAlias addIdColumn = joinTable.GetSqlColumnAlias(addIdColumnMap);
				SqlColumnAlias addMyColumn = myTable.GetSqlColumnAlias(addMyColumnMap);

				search = select.SqlWhereClause.GetNextSqlSearchCondition();
				search.GetSqlComparePredicate(addIdColumn, SqlCompareOperatorType.Equals,  addMyColumn);
			}

			om = m_SqlEngineManager.Context.ObjectManager;
			foreach (IPropertyMap iMyPropertyMap in propertyMap.ClassMap.GetIdentityPropertyMaps())
			{
				myPropertyMap = iMyPropertyMap;
				columnMap = myPropertyMap.GetColumnMap();
				SqlColumnAlias column = myTable.GetSqlColumnAlias(columnMap);
				SqlParameter param;

				paramName = GetParameterName(myPropertyMap, "Id_");
				if (om.GetPropertyStatus(obj, propertyMap.Name) == PropertyStatus.Dirty)
					param = AddSqlParameter(select, parameters, paramName, obj, myPropertyMap, om.GetOriginalPropertyValue(obj, myPropertyMap.Name), columnMap, true);
				else
					param = AddSqlParameter(select, parameters, paramName, obj, myPropertyMap, om.GetPropertyValue(obj, myPropertyMap.Name), columnMap);

				search = select.SqlWhereClause.GetNextSqlSearchCondition();
				search.GetSqlComparePredicate(column, SqlCompareOperatorType.Equals,  param);
			}
			typeColumnMap = propertyMap.ClassMap.GetTypeColumnMap();
			if (typeColumnMap != null)
			{
				SqlColumnAlias typeColumn = myTable.GetSqlColumnAlias(typeColumnMap);
				paramName = GetParameterName(propertyMap.ClassMap, "Type_");
				SqlParameter param = AddSqlParameter(select, parameters, paramName, obj, null, propertyMap.ClassMap.TypeValue, typeColumnMap, true);
				search = select.SqlWhereClause.GetNextSqlSearchCondition();
				search.GetSqlComparePredicate(typeColumn, SqlCompareOperatorType.Equals,  param);
			}
			return GenerateSql(select);
		}
开发者ID:Dawn-of-Light,项目名称:Puzzle.NET,代码行数:101,代码来源:SqlEngineBase.cs

示例4: GetInsertCollectionValueStatement

		protected virtual string GetInsertCollectionValueStatement(object obj, IPropertyMap propertyMap, object value, IList parameters)
		{
			IClassMap classMap;
			IColumnMap columnMap;
			IColumnMap idColumnMap;
			IPropertyMap idPropertyMap;
			ITableMap tableMap;
			IObjectManager om = m_SqlEngineManager.Context.ObjectManager;
			string paramName;
			classMap = propertyMap.ClassMap;
			tableMap = propertyMap.MustGetTableMap();

			SqlInsertStatement insert = new SqlInsertStatement(tableMap.SourceMap);
			SqlTableAlias table = insert.GetSqlTableAlias(tableMap);

			insert.SqlInsertClause.SqlTable = table.SqlTable;

			idColumnMap = propertyMap.GetIdColumnMap();
			idPropertyMap = classMap.MustGetPropertyMapForColumnMap(idColumnMap.MustGetPrimaryKeyColumnMap());
			SqlColumnAlias idColumn = table.GetSqlColumnAlias(idColumnMap);

			paramName = GetParameterName(idPropertyMap);
			SqlParameter param = AddSqlParameter(insert, parameters, paramName, obj, idPropertyMap, om.GetPropertyValue(obj, idPropertyMap.Name), idColumnMap);
			insert.AddSqlColumnAndValue(idColumn, param);
			foreach (IColumnMap iIdColumnMap in propertyMap.GetAdditionalIdColumnMaps())
			{
				idColumnMap = iIdColumnMap;
				idColumn = table.GetSqlColumnAlias(idColumnMap);

				paramName = GetParameterName(propertyMap, idColumnMap);

				if (!(classMap.GetTypeColumnMap() == null && classMap.GetTypeColumnMap() == idColumnMap.MustGetPrimaryKeyColumnMap()))
					param = AddSqlParameter(insert, parameters, paramName, obj, null, classMap.TypeValue, idColumnMap, true);
				else
				{
					idPropertyMap = classMap.MustGetPropertyMapForColumnMap(idColumnMap.MustGetPrimaryKeyColumnMap());					
					param = AddSqlParameter(insert, parameters, paramName, obj, idPropertyMap, om.GetPropertyValue(obj, idPropertyMap.Name), idColumnMap);
				}

				insert.AddSqlColumnAndValue(idColumn, param);

			}
			columnMap = propertyMap.GetColumnMap();
			SqlColumnAlias column = table.GetSqlColumnAlias(columnMap);
			paramName = GetParameterName(propertyMap, columnMap);
			param = AddSqlParameter(insert, parameters, paramName, obj, propertyMap, value, columnMap, true);
			insert.AddSqlColumnAndValue(column, param);

			foreach (IColumnMap iColumnMap in propertyMap.GetAdditionalColumnMaps())
			{
				columnMap = iColumnMap;
				column = table.GetSqlColumnAlias(columnMap);
				paramName = GetParameterName(propertyMap, columnMap);
				param = AddSqlParameter(insert, parameters, paramName, obj, propertyMap, value, columnMap, true);
				insert.AddSqlColumnAndValue(column, param);
			}
			return GenerateSql(insert);
		}
开发者ID:Dawn-of-Light,项目名称:Puzzle.NET,代码行数:58,代码来源:SqlEngineBase.cs

示例5: GetSelectNonPrimaryPropertyStatement

		protected virtual string GetSelectNonPrimaryPropertyStatement(object obj, IPropertyMap propertyMap, ArrayList propertyNames, IList parameters)
		{
			IClassMap classMap;
			IColumnMap columnMap;
			IColumnMap idColumnMap;
			IPropertyMap idPropertyMap;
			IPropertyMap addPropertyMap;
			ITableMap tableMap;
			string paramName = "";
			IContext ctx = m_SqlEngineManager.Context;
			IObjectManager om = ctx.ObjectManager;
			classMap = m_SqlEngineManager.Context.DomainMap.MustGetClassMap(obj.GetType());

			tableMap = propertyMap.MustGetTableMap();

			SqlSelectStatement select = new SqlSelectStatement(tableMap.SourceMap) ; 
			SqlTableAlias table = select.GetSqlTableAlias(tableMap);

			columnMap = propertyMap.GetColumnMap();
			SqlColumnAlias column = table.GetSqlColumnAlias(columnMap);

			select.SqlSelectClause.AddSqlAliasSelectListItem(column);
			propertyNames.Add(propertyMap.Name);

			foreach (IPropertyMap iAddPropertyMap in classMap.GetAllPropertyMaps())
			{
				addPropertyMap = iAddPropertyMap;
				if (addPropertyMap.MustGetTableMap() == tableMap)
				{
					if (!(addPropertyMap == propertyMap))
					{
						if (om.GetPropertyStatus(obj, addPropertyMap.Name) == PropertyStatus.NotLoaded)
						{
							if (!((addPropertyMap.IsCollection || (addPropertyMap.ReferenceType != ReferenceType.None && !(addPropertyMap.IsIdentity)))))
							{
								if (!(addPropertyMap.LazyLoad))
								{
									columnMap = addPropertyMap.GetColumnMap();
									column = table.GetSqlColumnAlias(columnMap);

									select.SqlSelectClause.AddSqlAliasSelectListItem(column);
									propertyNames.Add(addPropertyMap.Name);
								}
							}
						}
					}
				}
			}

			select.SqlFromClause.AddSqlAliasTableSource(table);

			if (!(propertyMap.MustGetTableMap() == classMap.MustGetTableMap()))
			{
				idColumnMap = propertyMap.GetIdColumnMap();
				idPropertyMap = classMap.MustGetPropertyMapForColumnMap(idColumnMap.MustGetPrimaryKeyColumnMap());

				SqlColumnAlias idColumn = table.GetSqlColumnAlias(idColumnMap);

				paramName = GetParameterName(propertyMap, "Id_");
				SqlParameter param = AddSqlParameter(select, parameters, paramName, obj, idPropertyMap, om.GetPropertyValue(obj, idPropertyMap.Name), idColumnMap, true);

				SqlSearchCondition search = select.SqlWhereClause.GetNextSqlSearchCondition();
				search.GetSqlComparePredicate(idColumn, SqlCompareOperatorType.Equals, param);

				foreach (IColumnMap iIdColumnMap in propertyMap.GetAdditionalIdColumnMaps())
				{
					idColumnMap = iIdColumnMap;

					idColumn = table.GetSqlColumnAlias(idColumnMap);

					paramName = GetParameterName(propertyMap, idColumnMap, "Id_");
					if (!(classMap.GetTypeColumnMap() == null && classMap.GetTypeColumnMap() == idColumnMap.MustGetPrimaryKeyColumnMap()))
						param = AddSqlParameter(select, parameters, paramName, obj, null, classMap.TypeValue, idColumnMap, true);
					else
					{
						idPropertyMap = classMap.MustGetPropertyMapForColumnMap(idColumnMap.MustGetPrimaryKeyColumnMap());						
						param = AddSqlParameter(select, parameters, paramName, obj, idPropertyMap, om.GetPropertyValue(obj, idPropertyMap.Name), idColumnMap, true);
					}

					search = select.SqlWhereClause.GetNextSqlSearchCondition();
					search.GetSqlComparePredicate(idColumn, SqlCompareOperatorType.Equals, param);
				}
			}
			else
			{
				foreach (IPropertyMap iPropertyMap in classMap.GetIdentityPropertyMaps())
				{
					propertyMap = iPropertyMap;
					columnMap = propertyMap.GetColumnMap();

					SqlColumnAlias idColumn = table.GetSqlColumnAlias(columnMap);

					paramName = GetParameterName(propertyMap, "Id_");
					SqlParameter param;

					if (om.GetPropertyStatus(obj, propertyMap.Name) == PropertyStatus.Dirty)
						param = AddSqlParameter(select, parameters, paramName, obj, propertyMap, om.GetOriginalPropertyValue(obj, propertyMap.Name), columnMap, true);
					else
						param = AddSqlParameter(select, parameters, paramName, obj, propertyMap, om.GetPropertyValue(obj, propertyMap.Name), columnMap);

//.........这里部分代码省略.........
开发者ID:Dawn-of-Light,项目名称:Puzzle.NET,代码行数:101,代码来源:SqlEngineBase.cs

示例6: GetSelectManyOnePropertyStatement


//.........这里部分代码省略.........
                            }
                        }
                    }
                }
            }

            select.SqlFromClause.AddSqlAliasTableSource(table);

            typeColumnMap = classMap.GetTypeColumnMap();
            if (typeColumnMap != null)
            {
                SqlColumnAlias typeColumn = rootTable.GetSqlColumnAlias(typeColumnMap);
                select.SqlSelectClause.AddSqlAliasSelectListItem(typeColumn);
                typeColumns.Add(typeColumnMap.Name);
            }

            if (table != rootTable)
            {
                select.SqlFromClause.AddSqlAliasTableSource(rootTable);
            }

            //if (tableMap.SourceMap.Schema.ToLower(CultureInfo.InvariantCulture) == myTableMap.SourceMap.Schema.ToLower(CultureInfo.InvariantCulture) && tableMap.Name.ToLower(CultureInfo.InvariantCulture) == myTableMap.Name.ToLower(CultureInfo.InvariantCulture))
            if (myTableMap == tableMap)
                myTable = select.GetSqlTableAlias(myTableMap, "NPersistSelfRefTable");
            else
                myTable = select.GetSqlTableAlias(myTableMap, "NPersistOwnerTable");

            myColumn = myTable.GetSqlColumnAlias(myColumnMap);
            select.SqlFromClause.AddSqlAliasTableSource(myTable);

            SqlSearchCondition search = select.SqlWhereClause.GetNextSqlSearchCondition();
            search.GetSqlComparePredicate(idColumn, SqlCompareOperatorType.Equals,  myColumn);

            foreach (IColumnMap iAddIdColumnMap in propertyMap.GetAdditionalIdColumnMaps())
            {
                addIdColumnMap = iAddIdColumnMap;
                addMyTableMap = addIdColumnMap.GetPrimaryKeyTableMap();
                addMyColumnMap = addIdColumnMap.MustGetPrimaryKeyColumnMap();
                if (addMyTableMap == null)
                    throw new MappingException("TableMap '" + addIdColumnMap.PrimaryKeyTable + "' Not Found!"); // do not localize
                if (addMyColumnMap == null)
                    throw new MappingException("ColumnMap '" + addIdColumnMap.PrimaryKeyColumn + "' Not Found!"); // do not localize

                SqlColumnAlias addIdColumn = table.GetSqlColumnAlias(addIdColumnMap);
                SqlColumnAlias addMyColumn = myTable.GetSqlColumnAlias(addMyColumnMap);

                search = select.SqlWhereClause.GetNextSqlSearchCondition();
                search.GetSqlComparePredicate(addIdColumn, SqlCompareOperatorType.Equals,  addMyColumn);
            }
            if (table != rootTable)
            {
                foreach (IPropertyMap testPropertyMap in classMap.GetAllPropertyMaps())
                {
                    if (testPropertyMap.MustGetTableMap() == propertyMap.MustGetTableMap())
                    {
                        foreach (IColumnMap iAddIdColumnMap in testPropertyMap.GetAllIdColumnMaps())
                        {
                            addIdColumnMap = iAddIdColumnMap;

                            SqlColumnAlias addIdColumn = table.GetSqlColumnAlias(addIdColumnMap);
                            SqlColumnAlias rootColumn = rootTable.GetSqlColumnAlias(addIdColumnMap.MustGetPrimaryKeyColumnMap());

                            search = select.SqlWhereClause.GetNextSqlSearchCondition();
                            search.GetSqlComparePredicate(addIdColumn, SqlCompareOperatorType.Equals,  rootColumn);
                        }
                        break;
开发者ID:BackupTheBerlios,项目名称:puzzle-svn,代码行数:67,代码来源:SqlEngineBase.cs


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