• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# SelectQuery类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中SelectQuery的典型用法代码示例。如果您正苦于以下问题:C# SelectQuery类的具体用法?C# SelectQuery怎么用?C# SelectQuery使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



SelectQuery类属于命名空间,在下文中一共展示了SelectQuery类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: Finalize

		public override SelectQuery Finalize(SelectQuery selectQuery)
		{
			selectQuery = base.Finalize(selectQuery);

			new QueryVisitor().Visit(selectQuery.Select, element =>
			{
				if (element.ElementType == QueryElementType.SqlParameter)
				{
					((SqlParameter)element).IsQueryParameter = false;
					selectQuery.IsParameterDependent = true;
				}
			});

			switch (selectQuery.QueryType)
			{
				case QueryType.Delete :
					selectQuery = GetAlternativeDelete(selectQuery);
					selectQuery.From.Tables[0].Alias = "$";
					break;

				case QueryType.Update :
					selectQuery = GetAlternativeUpdate(selectQuery);
					break;
			}

			return selectQuery;
		}
开发者ID:donners77,项目名称:linq2db,代码行数:27,代码来源:SqlCeSqlOptimizer.cs


示例2: Finalize

		public override SelectQuery Finalize(SelectQuery selectQuery)
		{
			CheckAliases(selectQuery, int.MaxValue);

			new QueryVisitor().VisitParentFirst(selectQuery, SearchSelectClause);

			if (selectQuery.QueryType == QueryType.InsertOrUpdate)
			{
				foreach (var key in selectQuery.Insert.Items)
					new QueryVisitor().Visit(key.Expression, SetNonQueryParameter);

				foreach (var key in selectQuery.Update.Items)
					new QueryVisitor().Visit(key.Expression, SetNonQueryParameter);

				foreach (var key in selectQuery.Update.Keys)
					new QueryVisitor().Visit(key.Expression, SetNonQueryParameter);
			}

			selectQuery = base.Finalize(selectQuery);

			switch (selectQuery.QueryType)
			{
				case QueryType.Delete : return GetAlternativeDelete(selectQuery);
				case QueryType.Update : return GetAlternativeUpdate(selectQuery);
				default               : return selectQuery;
			}
		}
开发者ID:Convey-Compliance,项目名称:linq2db,代码行数:27,代码来源:FirebirdSqlOptimizer.cs


示例3: BuildSql

		protected override void BuildSql(int commandNumber, SelectQuery selectQuery, StringBuilder sb, int indent, bool skipAlias)
		{
			SelectQuery   = selectQuery;
			StringBuilder = sb;
			Indent        = indent;
			SkipAlias     = skipAlias;

			if (_identityField != null)
			{
				indent += 2;

				AppendIndent().AppendLine("SELECT");
				AppendIndent().Append("\t");
				BuildExpression(_identityField, false, true);
				sb.AppendLine();
				AppendIndent().AppendLine("FROM");
				AppendIndent().AppendLine("\tNEW TABLE");
				AppendIndent().AppendLine("\t(");
			}

			base.BuildSql(commandNumber, selectQuery, sb, indent, skipAlias);

			if (_identityField != null)
				sb.AppendLine("\t)");
		}
开发者ID:donners77,项目名称:linq2db,代码行数:25,代码来源:DB2SqlBuilderBase.cs


示例4: RenderSelect

		private string RenderSelect(SelectQuery query, bool renderOrderBy)
		{
			query.Validate();

			StringBuilder selectBuilder = new StringBuilder();

			//Start the select statement
			Select(selectBuilder, query.Distinct);

			//Render Top clause
			if (query.Top > -1)
			{
				selectBuilder.AppendFormat("top {0} ", query.Top);
			}

			//Render select columns
			SelectColumns(selectBuilder, query.Columns);

			FromClause(selectBuilder, query.FromClause, query.TableSpace);

			Where(selectBuilder, query.WherePhrase);
			WhereClause(selectBuilder, query.WherePhrase);

			if (renderOrderBy)
			{
				OrderBy(selectBuilder, query.OrderByTerms);
				OrderByTerms(selectBuilder, query.OrderByTerms);
			}

			return selectBuilder.ToString();
		}
开发者ID:TargetProcess,项目名称:Tp.HelpDesk,代码行数:31,代码来源:SqlServerRenderer.cs


示例5: RenderSelect

		private string RenderSelect(SelectQuery query, bool forRowCount, int offset, int limitRows)
		{
			query.Validate();

			StringBuilder selectBuilder = new StringBuilder();

			//Start the select statement
			Select(selectBuilder, query.Distinct);

			//Render select columns
			if (forRowCount)
			{
				SelectColumn(selectBuilder, new SelectColumn("*", null, "cnt", SqlAggregationFunction.Count));
			}
			else
			{
				SelectColumns(selectBuilder, query.Columns);
			}

			FromClause(selectBuilder, query.FromClause, query.TableSpace);

			Where(selectBuilder, query.WherePhrase);
			WhereClause(selectBuilder, query.WherePhrase);

			OrderBy(selectBuilder, query.OrderByTerms);
			OrderByTerms(selectBuilder, query.OrderByTerms);

			if (limitRows > -1)
			{
				selectBuilder.AppendFormat(" limit {0}, {1}", offset, limitRows);
			}

			return selectBuilder.ToString();
		}
开发者ID:TargetProcess,项目名称:Tp.HelpDesk,代码行数:34,代码来源:MySqlRenderer.cs


示例6: Execute

			public string Execute(string itemID, string srlnCode)
			{
				string retVal = String.Empty;

				var qry = new SelectQuery();
				var srln = FromTerm.Table("GXSERIALNUMBER", "srnl");
				qry.FromClause.BaseTable =srln;
				qry.Columns.Add(new SelectColumn("GXID", srln));
				qry.WherePhrase.Terms.Add(WhereTerm.CreateCompare(
					SqlExpression.Field("GXITEMID", srln), 
					SqlExpression.Parameter("@itemID"),
					CompareOperator.Equal));
				qry.WherePhrase.Terms.Add(WhereTerm.CreateCompare(
					SqlExpression.Field("GXCODE"), 
					SqlExpression.Parameter("@srlnCode"),
					CompareOperator.Equal));

				var dataAccess = AppContext.ServiceLocator.GetService<IslDataAccessDbProvider>();
				string sqlText = slRendererFactory.GetRenderer(dataAccess.Info.DBProviderName).RenderSelect(qry);
				slQueryParameters qryParams = new slQueryParameters();

				qryParams.Add("@itemID", itemID);
				qryParams.Add("@srlnCode", srlnCode);

				object res = dataAccess.ExecuteScalar(sqlText, qryParams);
				if (res != null && res != DBNull.Value)
					retVal = Convert.ToString(res);
				
				return retVal;
			}
开发者ID:Gabsamolis,项目名称:S-N-Excel-Import,代码行数:30,代码来源:infnvAddIn.cs


示例7: BuildSql

		protected override void BuildSql(int commandNumber, SelectQuery selectQuery, StringBuilder sb, int indent, bool skipAlias)
		{
			base.BuildSql(commandNumber, selectQuery, sb, indent, skipAlias);

			sb
				.Replace("NULL IS NOT NULL", "1=0")
				.Replace("NULL IS NULL",     "1=1");
		}
开发者ID:donners77,项目名称:linq2db,代码行数:8,代码来源:InformixSqlBuilder.cs


示例8: GenerateSingleMapper

 private static Delegate GenerateSingleMapper() {
     var config = new CustomConfig();
     var selectQuery = new SelectQuery<Post>(new Mock<ISelectQueryExecutor>().Object).Fetch(p => p.Blog) as SelectQuery<Post>;
     var writer = new SelectWriter(new SqlServer2012Dialect(), config);
     var result = writer.GenerateSql(selectQuery);
     var mapper = new NonCollectionMapperGenerator(config);
     var func = mapper.GenerateNonCollectionMapper<Post>(result.FetchTree);
     return func.Item1;
 }
开发者ID:Polylytics,项目名称:dashing,代码行数:9,代码来源:NonCollectionTests.cs


示例9: Finalize

		public override SelectQuery Finalize(SelectQuery selectQuery)
		{
			selectQuery = base.Finalize(selectQuery);

			switch (selectQuery.QueryType)
			{
				case QueryType.Delete : return GetAlternativeDelete(selectQuery);
				default               : return selectQuery;
			}
		}
开发者ID:donners77,项目名称:linq2db,代码行数:10,代码来源:AccessSqlOptimizer.cs


示例10: ShouldCreateAndWhereQuery

        public void ShouldCreateAndWhereQuery()
        {
            var query =
                new SelectQuery<Model.Model>().Select("Id")
                    .Where("Id", new IsNotNull<int>())
                    .AndWhere("Id", new IsNull<int>())
                    .ToString();

            query.Should().Be("SELECT [Id] FROM [Model] WHERE ([Id] IS NOT NULL AND [Id] IS NULL)");
        }
开发者ID:JonyTek,项目名称:Mini-Data,代码行数:10,代码来源:SelectQuerySpecs.cs


示例11: CommandCount

        public override int CommandCount(SelectQuery selectQuery)
        {
            if (Version == DB2Version.LUW && selectQuery.IsInsert && selectQuery.Insert.WithIdentity)
            {
                _identityField = selectQuery.Insert.Into.GetIdentityField();

                if (_identityField == null)
                    return 2;
            }

            return 1;
        }
开发者ID:pebezo,项目名称:linq2db,代码行数:12,代码来源:DB2SqlBuilderBase.cs


示例12: CommandCount

        public override int CommandCount(SelectQuery selectQuery)
        {
            if (selectQuery.IsCreateTable)
            {
                _identityField = selectQuery.CreateTable.Table.Fields.Values.FirstOrDefault(f => f.IsIdentity);

                if (_identityField != null)
                    return 3;
            }

            return base.CommandCount(selectQuery);
        }
开发者ID:pebezo,项目名称:linq2db,代码行数:12,代码来源:OracleSqlBuilder.cs


示例13: Finalize

		public override SelectQuery Finalize(SelectQuery selectQuery)
		{
			CheckAliases(selectQuery, int.MaxValue);

			selectQuery = base.Finalize(selectQuery);

			switch (selectQuery.QueryType)
			{
				case QueryType.Delete : return GetAlternativeDelete(selectQuery);
				case QueryType.Update : return GetAlternativeUpdate(selectQuery);
				default               : return selectQuery;
			}
		}
开发者ID:donners77,项目名称:linq2db,代码行数:13,代码来源:PostgreSQLSqlOptimizer.cs


示例14: Finalize

		public override SelectQuery Finalize(SelectQuery selectQuery)
		{
			new QueryVisitor().Visit(selectQuery.Select, SetQueryParameter);

			selectQuery = base.Finalize(selectQuery);

			switch (selectQuery.QueryType)
			{
				case QueryType.Delete : return GetAlternativeDelete(selectQuery);
				case QueryType.Update : return GetAlternativeUpdate(selectQuery);
				default               : return selectQuery;
			}
		}
开发者ID:Convey-Compliance,项目名称:linq2db,代码行数:13,代码来源:DB2SqlOptimizer.cs


示例15: ProcessQuery

			protected override SelectQuery ProcessQuery(SelectQuery selectQuery)
			{
				if (selectQuery.IsInsert && selectQuery.Insert.Into.Name == "Parent")
				{
					var expr =
						new QueryVisitor().Find(selectQuery.Insert, e =>
						{
							if (e.ElementType == QueryElementType.SetExpression)
							{
								var se = (SelectQuery.SetExpression)e;
								return ((SqlField)se.Column).Name == "ParentID";
							}

							return false;
						}) as SelectQuery.SetExpression;

					if (expr != null)
					{
						var value = ConvertTo<int>.From(((IValueContainer)expr.Expression).Value);

						if (value == 555)
						{
							var tableName = "Parent1";
							var dic       = new Dictionary<IQueryElement,IQueryElement>();

							selectQuery = new QueryVisitor().Convert(selectQuery, e =>
							{
								if (e.ElementType == QueryElementType.SqlTable)
								{
									var oldTable = (SqlTable)e;

									if (oldTable.Name == "Parent")
									{
										var newTable = new SqlTable(oldTable) { Name = tableName, PhysicalName = tableName };

										foreach (var field in oldTable.Fields.Values)
											dic.Add(field, newTable.Fields[field.Name]);

										return newTable;
									}
								}

								IQueryElement ex;
								return dic.TryGetValue(e, out ex) ? ex : null;
							});
						}
					}
				}

				return selectQuery;
			}
开发者ID:donners77,项目名称:linq2db,代码行数:51,代码来源:Common.cs


示例16: AddCompareFilter

 public static CompareFilter AddCompareFilter(SelectQuery SelectQuery, string FieldName, IParameter Parameter)
 {
     Filters Filters = SelectQuery.get_Items(0).Filters;
     TableField Field = SelectQuery.get_Items(0).FromTable.Fields[FieldName];
     CompareFilter Filter = Filters.CreateCompareFilter();
     Filter.Code = FieldName;
     FieldFilterExpression TestExpression = Filter.CreateFieldFilterExpression();
     ParamFilterExpression ValueExpression = Filter.CreateParamFilterExpression();
     TestExpression.Field = Field;
     ValueExpression.Parameter = Parameter;
     Filter.TestExpression = TestExpression;
     Filter.ValueExpression = ValueExpression;
     Filters.Add(Filter);
     return Filter;
 }
开发者ID:vadimbarda,项目名称:pivbank,代码行数:15,代码来源:TSUtils.cs


示例17: FetchedEntityIsReturned

        public void FetchedEntityIsReturned() {
            var cloner = new FetchCloner(new TestConfiguration());
            var query = new SelectQuery<Post>(new NonExecutingSelectQueryExecutor()).Fetch(p => p.Blog) as SelectQuery<Post>;
            var post = new Post { PostId = 1, Title = "Bar", Blog = new Blog { BlogId = 2, Description = "Foo" } };
            var clone = cloner.Clone(query, post);

            Assert.False(ReferenceEquals(post, clone));
            Assert.False(ReferenceEquals(post.Blog, clone.Blog));
            Assert.False(ReferenceEquals(post.Title, clone.Title));
            Assert.False(ReferenceEquals(post.Blog.Description, clone.Blog.Description));
            Assert.Equal(1, clone.PostId);
            Assert.Equal("Bar", clone.Title);
            Assert.Equal(2, clone.Blog.BlogId);
            Assert.Equal("Foo", clone.Blog.Description);
        }
开发者ID:Polylytics,项目名称:dashing,代码行数:15,代码来源:FetchClonerTests.cs


示例18: Finalize

		public override SelectQuery Finalize(SelectQuery selectQuery)
		{
			selectQuery = base.Finalize(selectQuery);

			switch (selectQuery.QueryType)
			{
				case QueryType.Delete:
					selectQuery = GetAlternativeDelete(selectQuery);
					break;
				case QueryType.Update:
					selectQuery = GetAlternativeUpdate(selectQuery);
					break;
			}

			return selectQuery;
		}
开发者ID:Convey-Compliance,项目名称:linq2db,代码行数:16,代码来源:SapHanaSqlOptimizer.cs


示例19: FetchedCollectionWorks

        public void FetchedCollectionWorks() {
            var cloner = new FetchCloner(new TestConfiguration());
            var query = new SelectQuery<Blog>(new NonExecutingSelectQueryExecutor()).Fetch(p => p.Posts) as SelectQuery<Blog>;
            var blog = new Blog {
                                    BlogId = 1,
                                    Posts = new List<Post> { new Post { PostId = 2, Title = "Foo" }, new Post { PostId = 3, Title = "Boo" } }
                                };
            var clone = cloner.Clone(query, blog);

            Assert.False(ReferenceEquals(blog, clone));
            Assert.False(ReferenceEquals(blog.Posts, clone.Posts));
            Assert.False(ReferenceEquals(blog.Posts[0], clone.Posts[0]));
            Assert.False(ReferenceEquals(blog.Posts[1], clone.Posts[1]));
            Assert.Equal("Foo", clone.Posts[0].Title);
            Assert.Equal("Boo", clone.Posts[1].Title);
        }
开发者ID:Polylytics,项目名称:dashing,代码行数:16,代码来源:FetchClonerTests.cs


示例20: BuildLikePredicate

		protected override void BuildLikePredicate(SelectQuery.Predicate.Like predicate)
		{
			if (predicate.IsNot)
				StringBuilder.Append("NOT ");

			var precedence = GetPrecedence(predicate);

			BuildExpression(precedence, predicate.Expr1);
			StringBuilder.Append(" LIKE ");
			BuildExpression(precedence, predicate.Expr2);

			if (predicate.Escape != null)
			{
				StringBuilder.Append(" ESCAPE ");
				BuildExpression(precedence, predicate.Escape);
			}
		}
开发者ID:donners77,项目名称:linq2db,代码行数:17,代码来源:InformixSqlBuilder.cs



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# SelectStatement类代码示例发布时间:2022-05-24
下一篇:
C# SelectOrGroupClauseSyntax类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap