2016-07-13 5 views

ответ

1

Вы смешиваете несколько функций в одном вопросе.

Если вы спрашиваете о функции фильтрации данных на основе правил механизма CodeEffects, то да, все, что поддерживается.

В общем случае CodeEffects поддерживает любого поставщика LINQ, если он реализует значение предложения «где». Например, вы можете использовать наш метод расширения фильтра в вашем EF заявлении для запроса таблицы или представления в базе данных, как это:

var data = yourIQueryable.Filter(yourRuleXmlString).GroupBy(...).Sum(...).Select(...); 

Подробная информация о фильтрации данных в CodeEffects можно найти here.

Если вам нужно использовать любое агрегирование в своих бизнес-правилах, для этого вы можете использовать методы in-rule или правила. Например, предположим, что ваш исходный объект объявляет List<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 ... 

подробности о в властвуй методы и действия могут быть найдены here, here и here.