本文整理汇总了C#中Dialect.QuoteForLimitTableName方法的典型用法代码示例。如果您正苦于以下问题:C# Dialect.QuoteForLimitTableName方法的具体用法?C# Dialect.QuoteForLimitTableName怎么用?C# Dialect.QuoteForLimitTableName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Dialect
的用法示例。
在下文中一共展示了Dialect.QuoteForLimitTableName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ToSqlText
//internal FromClause(params string[] linkColumnNames)
//{
// if (linkColumnNames.Length < 2 || linkColumnNames.Length % 2 != 0)
// {
// throw new ArgumentException("LinkColumnNames.Length not even or less than 2.");
// }
// joinClauseList = new JoinClause[linkColumnNames.Length / 2];
// for (int i = 0; i < linkColumnNames.Length; i+=2)
// {
// joinClauseList[i / 2] = new JoinClause(linkColumnNames[i], linkColumnNames[i + 1],
// CompareOpration.Equal, JoinMode.Inner);
// }
//}
public string ToSqlText(DataParameterCollection dpc, Dialect.DbDialect dd)
{
if (MainTableName != null)
{
return dd.QuoteForTableName(MainTableName);
}
if (_fromStrings.Contains(dd))
{
return (string)_fromStrings[dd];
}
string ret;
if (PartOf != null)
{
ret = dd.QuoteForLimitTableName(ModelContext.GetInstance(PartOf).Info.From.MainTableName);
}
else
{
var sd = new StringDictionary();
ret = dd.QuoteForTableName(JoinClauseList[0].Table1);
sd.Add(ret, "");
for (int i = 0; i < JoinClauseList.Length; i++)
{
if (i != 0 && dd.NeedBracketForJoin)
{
ret = string.Format("({0})", ret);
}
string tn = dd.QuoteForTableName(JoinClauseList[i].Table2);
if (sd.ContainsKey(tn)) { tn = dd.QuoteForTableName(JoinClauseList[i].Table1); }
sd.Add(tn, "");
ret = string.Format("{0} {3} JOIN {1} ON {2}",
ret,
tn,
JoinClauseList[i].ToSqlText(dpc, dd),
JoinClauseList[i].Mode);
}
}
lock (_fromStrings.SyncRoot)
{
_fromStrings[dd] = ret;
}
return ret;
}