/// <summary> /// 指定された名前付けSQLをFrom句に追加します。 /// </summary> /// <param name="queryName">名前付けSQL名</param> /// <returns><see cref="QueryClausePartItem"/>のインスタンス</returns> public QueryClausePartItem NamedFrom(string queryName) { if (!FromClauses.Any(c => c is NamedClause && ((NamedClause)c).QueryName == queryName)) { this.fromClauses.Add(new NamedClause(this.Factory, queryName)); } return(this); }
public void RenderFromClauses() { Table table1 = new Table("Table1"); Table table2 = new Table("Table2"); TableFromClause fromClause1 = new TableFromClause(table1); TableFromClause fromClause2 = new TableFromClause(table2); FromClauses fromClauses = new FromClauses(fromClause1, fromClause2); Assert.AreEqual("[Table1], [Table2]", sqlClientRenderer.Render(fromClauses)); }
public void CreateFromClauses() { Table table1 = new Table("Table1"); Table table2 = new Table("Table2"); TableFromClause fromClause1 = new TableFromClause(table1); TableFromClause fromClause2 = new TableFromClause(table2); FromClauses fromClauses = new FromClauses(fromClause1, fromClause2); Assert.AreEqual(fromClause1, fromClauses.LeftClause); Assert.AreEqual(fromClause2, fromClauses.RightClause); }
public SelectQuery From(FromClause fromClause) { if (FromClause == null) { FromClause = fromClause; } else { FromClause = new FromClauses(FromClause, fromClause); } return(this); }
public override string Render(FromClauses fromClauses) { if (fromClauses.LeftClause == null) { return(fromClauses.RightClause.Render(this)); } else if (fromClauses.RightClause == null) { return(fromClauses.LeftClause.Render(this)); } else { return(string.Format("{0}, {1}", fromClauses.LeftClause.Render(this), fromClauses.RightClause.Render(this))); } }
public abstract string Render(FromClauses fromClauses);