本文整理汇总了C#中SqlWriter.WriteStartSelect方法的典型用法代码示例。如果您正苦于以下问题:C# SqlWriter.WriteStartSelect方法的具体用法?C# SqlWriter.WriteStartSelect怎么用?C# SqlWriter.WriteStartSelect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SqlWriter
的用法示例。
在下文中一共展示了SqlWriter.WriteStartSelect方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteUnion_WhenSelectWithJoin_WritesUnionStatement
public void WriteUnion_WhenSelectWithJoin_WritesUnionStatement()
{
StringBuilder builder = new StringBuilder();
using (SqlWriter writer = new SqlWriter(builder))
{
writer.WriteStartSelect();
writer.WriteColumn("u", "Id", null);
writer.WriteColumn("u", "Name", null);
writer.WriteColumn("p", "Age", null);
writer.WriteStartFrom();
writer.WriteTable("Users", "u");
writer.WriteStartJoin(SqlJoinType.Inner);
writer.WriteTable("Profiles", "p");
writer.WriteStartOn();
writer.WriteColumn("u", "Id", null);
writer.WriteOperator(SqlBinaryOperator.Equal);
writer.WriteColumn("p", "UserId", null);
//writer.WriteStartWhere();
//writer.WriteColumn("u", "Age", null);
//writer.WriteOperator(SqlBinaryOperator.LessThanOrEqual);
//writer.WriteValue(18);
writer.WriteEndSelect();
Assert.AreEqual(SqlWriterState.EndSelect, writer.WriteState);
writer.WriteUnion();
Assert.AreEqual(SqlWriterState.Union, writer.WriteState);
writer.WriteStartSelect();
writer.WriteColumn("u", "Id", null);
writer.WriteColumn("u", "Name", null);
writer.WriteColumn("p", "Age", null);
writer.WriteStartFrom();
writer.WriteTable("Users", "u");
writer.WriteStartJoin(SqlJoinType.Inner);
writer.WriteTable("Profiles", "p");
writer.WriteStartOn();
writer.WriteColumn("u", "Id", null);
writer.WriteOperator(SqlBinaryOperator.Equal);
writer.WriteColumn("p", "UserId", null);
writer.WriteStartWhere();
writer.WriteColumn("p", "Age", null);
writer.WriteOperator(SqlBinaryOperator.GreaterThanOrEqual);
writer.WriteValue(30);
writer.WriteEndSelect();
}
Assert.AreEqual("SELECT [u].[Id], [u].[Name], [p].[Age] FROM [Users] [u] INNER JOIN [Profiles] [p] ON ([u].[Id] = [p].[UserId]) UNION SELECT [u].[Id], [u].[Name], [p].[Age] FROM [Users] [u] INNER JOIN [Profiles] [p] ON ([u].[Id] = [p].[UserId]) WHERE ([p].[Age] >= 30)", builder.ToString());
}
示例2: WriteColumn_WhenSelectStatement_WritesColumns
public void WriteColumn_WhenSelectStatement_WritesColumns()
{
StringBuilder builder = new StringBuilder();
using (SqlWriter writer = new SqlWriter(builder))
{
writer.WriteStartSelect();
writer.WriteColumn("Id");
writer.WriteColumn("Name", "n");
writer.WriteColumn("Users", "Email", "e");
Assert.AreEqual(SqlWriterState.Select, writer.WriteState);
}
Assert.AreEqual("SELECT [Id], [Name] AS [n], [Users].[Email] AS [e]", builder.ToString());
}
示例3: WriteOrderBy_WhenSelectStatementWithoutWhereClause_WritesOrderBy
public void WriteOrderBy_WhenSelectStatementWithoutWhereClause_WritesOrderBy()
{
StringBuilder builder = new StringBuilder();
using (SqlWriter writer = new SqlWriter(builder))
{
writer.WriteStartSelect();
writer.WriteColumn("Id");
writer.WriteColumn("Name", "n");
writer.WriteColumn("Users", "Email", "e");
writer.WriteStartFrom();
writer.WriteTable("Users");
writer.WriteStartOrderBy();
writer.WriteColumn("Id");
writer.WriteSortOrder(SqlSortOrder.Ascending);
}
Assert.AreEqual("SELECT [Id], [Name] AS [n], [Users].[Email] AS [e] FROM [Users] ORDER BY [Id] ASC", builder.ToString());
}
示例4: WriteStartFrom_WhenSelectStatement_WritesWhere
public void WriteStartFrom_WhenSelectStatement_WritesWhere()
{
StringBuilder builder = new StringBuilder();
using (SqlWriter writer = new SqlWriter(builder))
{
writer.WriteStartSelect();
writer.WriteColumn("Id");
writer.WriteColumn("Name", "n");
writer.WriteColumn("Users", "Email", "e");
writer.WriteStartFrom();
writer.WriteTable("Users");
writer.WriteStartWhere();
Assert.AreEqual(SqlWriterState.StartWhere, writer.WriteState);
writer.WriteColumn("Id");
writer.WriteOperator(SqlBinaryOperator.Equal);
writer.WriteParameter("Id");
writer.WriteOperator(SqlBinaryOperator.Or);
writer.WriteColumn("Id");
writer.WriteOperator(SqlBinaryOperator.LessThan);
writer.WriteValue(100);
}
Assert.AreEqual("SELECT [Id], [Name] AS [n], [Users].[Email] AS [e] FROM [Users] WHERE ([Id] = @Id) OR ([Id] < 100)", builder.ToString());
}
示例5: WriteTable_WhenSelectStatement_WritesTables
public void WriteTable_WhenSelectStatement_WritesTables()
{
StringBuilder builder = new StringBuilder();
using (SqlWriter writer = new SqlWriter(builder))
{
writer.WriteStartSelect();
writer.WriteColumn("Id");
writer.WriteColumn("Name", "n");
writer.WriteColumn("Users", "Email", "e");
writer.WriteStartFrom();
writer.WriteTable("Users");
writer.WriteTable("Sessions", "s");
Assert.AreEqual(SqlWriterState.From, writer.WriteState);
}
Assert.AreEqual("SELECT [Id], [Name] AS [n], [Users].[Email] AS [e] FROM [Users], [Sessions] [s]", builder.ToString());
}
示例6: WriteStartSelect_WritesSelect
public void WriteStartSelect_WritesSelect()
{
StringBuilder builder = new StringBuilder();
using (SqlWriter writer = new SqlWriter(builder))
{
writer.WriteStartSelect();
Assert.AreEqual(SqlWriterState.StartSelect, writer.WriteState);
}
Assert.AreEqual("SELECT", builder.ToString());
}
示例7: WriteStartSelect_WhenDisposed_ThrowsObjectDisposed
public void WriteStartSelect_WhenDisposed_ThrowsObjectDisposed()
{
StringBuilder builder = new StringBuilder();
SqlWriter writer = new SqlWriter(builder);
writer.Dispose();
AssertEx.Throws<ObjectDisposedException>(() => writer.WriteStartSelect());
}
示例8: WriteStartOn_WritesOnClause
public void WriteStartOn_WritesOnClause()
{
StringBuilder builder = new StringBuilder();
using (SqlWriter writer = new SqlWriter(builder))
{
writer.WriteStartSelect();
writer.WriteColumn("Id");
writer.WriteColumn("Name", "n");
writer.WriteColumn("Users", "Email", "e");
writer.WriteStartFrom();
writer.WriteTable("Users");
writer.WriteStartJoin();
writer.WriteTable("Profiles");
writer.WriteStartOn();
writer.WriteColumn("Users", "Id", null);
writer.WriteOperator(SqlBinaryOperator.Equal);
writer.WriteColumn("Profiles", "UserId", null);
writer.WriteOperator(SqlBinaryOperator.And);
writer.WriteColumn("Users", "Name", null);
writer.WriteOperator(SqlBinaryOperator.Equal);
writer.WriteParameter("Name");
writer.WriteStartWhere();
Assert.AreEqual(SqlWriterState.StartWhere, writer.WriteState);
writer.WriteColumn("Id");
writer.WriteOperator(SqlBinaryOperator.Equal);
writer.WriteParameter("Id");
writer.WriteOperator(SqlBinaryOperator.Or);
writer.WriteColumn("Id");
writer.WriteOperator(SqlBinaryOperator.LessThan);
writer.WriteValue(100);
writer.WriteStartOrderBy();
writer.WriteColumn("Id");
writer.WriteSortOrder(SqlSortOrder.Ascending);
writer.WriteColumn("Name");
writer.WriteSortOrder(SqlSortOrder.Descending);
}
Assert.AreEqual("SELECT [Id], [Name] AS [n], [Users].[Email] AS [e] FROM [Users] JOIN [Profiles] ON ([Users].[Id] = [Profiles].[UserId]) AND ([Users].[Name] = @Name) WHERE ([Id] = @Id) OR ([Id] < 100) ORDER BY [Id] ASC, [Name] DESC", builder.ToString());
}
示例9: WriteStartJoin_WritesRightJoin
public void WriteStartJoin_WritesRightJoin()
{
StringBuilder builder = new StringBuilder();
using (SqlWriter writer = new SqlWriter(builder))
{
writer.WriteStartSelect();
writer.WriteColumn("Id");
writer.WriteColumn("Name", "n");
writer.WriteColumn("Users", "Email", "e");
writer.WriteStartFrom();
writer.WriteTable("Users");
writer.WriteStartJoin(SqlJoinType.Right);
writer.WriteTable("Profiles");
writer.WriteStartOn();
writer.WriteColumn("Users", "Id", null);
writer.WriteOperator(SqlBinaryOperator.Equal);
writer.WriteColumn("Profiles", "UserId", null);
}
Assert.AreEqual("SELECT [Id], [Name] AS [n], [Users].[Email] AS [e] FROM [Users] RIGHT JOIN [Profiles] ON ([Users].[Id] = [Profiles].[UserId])", builder.ToString());
}
示例10: WriteUnion_WhenSelect_WritesUnionStatement
public void WriteUnion_WhenSelect_WritesUnionStatement()
{
StringBuilder builder = new StringBuilder();
using (SqlWriter writer = new SqlWriter(builder))
{
writer.WriteStartSelect();
writer.WriteColumn("u", "Id", null);
writer.WriteColumn("u", "Name", null);
writer.WriteStartFrom();
writer.WriteTable("Users", "u");
writer.WriteEndSelect();
Assert.AreEqual(SqlWriterState.EndSelect, writer.WriteState);
writer.WriteUnion();
Assert.AreEqual(SqlWriterState.Union, writer.WriteState);
writer.WriteStartSelect();
writer.WriteColumn("p", "Id", null);
writer.WriteColumn("p", "Name", null);
writer.WriteStartFrom();
writer.WriteTable("Profiles", "p");
writer.WriteEndSelect();
}
Assert.AreEqual("SELECT [u].[Id], [u].[Name] FROM [Users] [u] UNION SELECT [p].[Id], [p].[Name] FROM [Profiles] [p]", builder.ToString());
}