想知道规则编辑器是否支持关键字,如:GROUPBY、SUM、AVG、JOIN 条件上的多个数据表。与实体框架集成。
谢谢。
您在一个问题中混合了多个功能。
如果您询问 CodeEffects 引擎的基于规则的数据过滤功能,那么是的,所有这些都受支持。
一般来说,CodeEffects 支持任何 LINQ 提供程序,只要它实现了“where”子句的含义。例如,您可以在 EF 语句中使用我们的 Filter 扩展方法来查询数据库中的表或视图,如下所示:
var data = yourIQueryable.Filter(yourRuleXmlString).GroupBy(...).Sum(...).Select(...);
有关 CodeEffects 中数据过滤的详细信息,请参见此处。
如果您需要在业务规则中使用任何聚合,您可以使用规则内方法或规则操作来执行此操作。例如,假设您的源对象声明了一个List<Country>
名为 Country 的集合和一个Count
返回项目计数的通用方法:
public List<Country> Countries { get; set; }
Method(["Get Count"])
public int Count<T>(List<T> list) { return list.Count; }
在您的源代码中拥有这些,您可以使用 CodeEffects 创建如下规则:
If Get Count( Countries ) is greater than [2] then ...