本文整理汇总了C#中IQueryPlanNode.Evaluate方法的典型用法代码示例。如果您正苦于以下问题:C# IQueryPlanNode.Evaluate方法的具体用法?C# IQueryPlanNode.Evaluate怎么用?C# IQueryPlanNode.Evaluate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IQueryPlanNode
的用法示例。
在下文中一共展示了IQueryPlanNode.Evaluate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DefineView
public static void DefineView(this IQuery context, ObjectName viewName, IQueryPlanNode queryPlan, bool replaceIfExists)
{
// We have to execute the plan to get the TableInfo that represents the
// result of the view execution.
var table = queryPlan.Evaluate(context);
var tableInfo = table.TableInfo.Alias(viewName);
var viewInfo = new ViewInfo(tableInfo, null, queryPlan);
context.DefineView(viewInfo, replaceIfExists);
}
示例2: UpdateTable
public static int UpdateTable(this IQuery context, ObjectName tableName, IQueryPlanNode queryPlan,
IEnumerable<SqlAssignExpression> assignments, int limit)
{
var columnNames = assignments.Select(x => x.ReferenceExpression)
.Cast<SqlReferenceExpression>()
.Select(x => x.ReferenceName.Name).ToArray();
if (!context.UserCanUpdateTable(tableName, columnNames))
throw new MissingPrivilegesException(context.UserName(), tableName, Privileges.Update);
if (!context.UserCanSelectFromPlan(queryPlan))
throw new InvalidOperationException();
var table = context.GetMutableTable(tableName);
if (table == null)
throw new ObjectNotFoundException(tableName);
var updateSet = queryPlan.Evaluate(context);
return table.Update(context, updateSet, assignments, limit);
}