通过EntityFieldInfo在select中添加指定字段项 - AddISelectItemWithEntityFieldInfo
2017-02-19 12:18:32 访问(1730) 赞(0) 踩(0)
/// <summary>
/// <para>通过EntityFieldInfo在select中添加指定字段项 +</para>
/// <para>select如果不做设定,默认是select全部字段的</para>
/// <para>添加EntityFieldInfo后,就指定select该字段</para>
/// </summary>
/// <param name="em"></param>
/// <param name="_info"></param>
public void AddISelectItemWithEntityFieldInfo
(
SlowX.Core.Enums.SqlCommonFn.EmSqlCommonFn em,
EntityFieldInfo _info
)
{
if (m_ListISelectItem == null)
m_ListISelectItem = new List<ISelectItem>();
if (em == SlowX.Core.Enums.SqlCommonFn.EmSqlCommonFn.无)
{
m_ListISelectItem.Add
(
new DataColumnSelectItem
(
_info
)
);
return;
}
SqlSelectAssist sa = new SqlSelectAssist();
ScriptLinkSqlFunction scriptFn = null;
switch (em)
{
case SlowX.Core.Enums.SqlCommonFn.EmSqlCommonFn.无:
break;
case SlowX.Core.Enums.SqlCommonFn.EmSqlCommonFn._Sum:
scriptFn = new ScriptLinkSqlFunction("sum(", ")");
break;
case SlowX.Core.Enums.SqlCommonFn.EmSqlCommonFn._Min:
scriptFn = new ScriptLinkSqlFunction("min(", ")");
break;
case SlowX.Core.Enums.SqlCommonFn.EmSqlCommonFn._Max:
scriptFn = new ScriptLinkSqlFunction("max(", ")");
break;
case SlowX.Core.Enums.SqlCommonFn.EmSqlCommonFn._Avg:
scriptFn = new ScriptLinkSqlFunction("avg(", ")");
break;
case SlowX.Core.Enums.SqlCommonFn.EmSqlCommonFn._Count:
scriptFn = new ScriptLinkSqlFunction("count(", ")");
break;
case SlowX.Core.Enums.SqlCommonFn.EmSqlCommonFn._Distinct:
scriptFn = new ScriptLinkSqlFunction("distinct(", ")");
break;
default:
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:"
+ "枚举("
+ em.GetType().FullName
+ "."
+ em.ToString()
+ ")未知,对应的代码尚未实现。"
);
}
if(scriptFn!=null)
sa.AddBaseSqlFunction(scriptFn);
m_ListISelectItem.Add
(
new DataColumnSelectItem
(
sa,
_info
)
);
}
标签:
通过EntityFieldInfo在select中添加指定字段项 - AddISelectItemWithEntityFieldInfo 


上一条:
下一条:
相关评论
发表评论