В BLToolkit можно с помощью атрибутов SqlFunction/SqlExpression вводить собственные функции, которые будут вызываться на сервере. А можно ли водить свои агрегатные функции??? Типа Max/Count и тд ?
Здравствуйте, Jack128, Вы писали:
J>В BLToolkit можно с помощью атрибутов SqlFunction/SqlExpression вводить собственные функции, которые будут вызываться на сервере. А можно ли водить свои агрегатные функции??? Типа Max/Count и тд ?
Можно пример на SQL с такой функцией?
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, Jack128, Вы писали:
J>>В BLToolkit можно с помощью атрибутов SqlFunction/SqlExpression вводить собственные функции, которые будут вызываться на сервере. А можно ли водить свои агрегатные функции??? Типа Max/Count и тд ?
IT>Можно пример на SQL с такой функцией?
э-э-э.
select count(*) from my_table;
select list(id, ',') from my_table;
select max(price) from my_table;
max/count/list — это агрегатные функции то есть в контексте Linq — это функции, которые принемают в качестве параметра IQueriable<> (+ возможно еще какие нить скаляры)
Здравствуйте, Jack128, Вы писали:
J>max/count/list — это агрегатные функции то есть в контексте Linq — это функции, которые принемают в качестве параметра IQueriable<> (+ возможно еще какие нить скаляры)
эмн я думаю имелось ввиду пример на SQL тех ф-й которые вы хотите реализовать...
Здравствуйте, ili, Вы писали:
ili>Здравствуйте, Jack128, Вы писали:
J>>max/count/list — это агрегатные функции то есть в контексте Linq — это функции, которые принемают в качестве параметра IQueriable<> (+ возможно еще какие нить скаляры)
ili>эмн я думаю имелось ввиду пример на SQL тех ф-й которые вы хотите реализовать...
select list(id, ',') from my_table — это не SQL?
J>max/count/list — это агрегатные функции то есть в контексте Linq — это функции, которые принемают в качестве параметра IQueriable<> (+ возможно еще какие нить скаляры)
Про list поподробней. Что это такое?
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, Jack128, Вы писали:
J>>
J>>select list(id, ',') from my_table;
J>>
J>>max/count/list — это агрегатные функции то есть в контексте Linq — это функции, которые принемают в качестве параметра IQueriable<> (+ возможно еще какие нить скаляры)
IT>Про list поподробней. Что это такое?
Здравствуйте, Jack128, Вы писали:
IT>>Про list поподробней. Что это такое?
J>ну в firebird — это агрегат, типа string.Join, объединяет строковые представления поля в одну строку. + можно разделите задать. http://www.firebirdsql.org/refdocs/langrefupd21-aggrfunc-list.html
Такую функцию можно задать обычным образом через [SqlFunction].
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, Jack128, Вы писали:
IT>>>Про list поподробней. Что это такое?
J>>ну в firebird — это агрегат, типа string.Join, объединяет строковые представления поля в одну строку. + можно разделите задать. http://www.firebirdsql.org/refdocs/langrefupd21-aggrfunc-list.html
IT>Такую функцию можно задать обычным образом через [SqlFunction].
Что то я не соображу, каким "обычным" образом? Можно в качестве примера, как ты с помощью SqlFunction выразить например Count (по структуре — абсолютный аналог list) ??
Здравствуйте, Jack128, Вы писали:
J>Что то я не соображу, каким "обычным" образом? Можно в качестве примера, как ты с помощью SqlFunction выразить например Count (по структуре — абсолютный аналог list) ??
только не count(*) from table, а count(field) from table
Re[5]: Свои агрегатные функции
От:
Аноним
Дата:
04.08.11 19:45
Оценка:
Здравствуйте, Jack128, Вы писали:
J>ну в firebird — это агрегат, типа string.Join
Кстати, а в BLT есть поддержка чего-то подобного?