Свои агрегатные функции
От: Jack128  
Дата: 03.08.11 09:33
Оценка:
В BLToolkit можно с помощью атрибутов SqlFunction/SqlExpression вводить собственные функции, которые будут вызываться на сервере. А можно ли водить свои агрегатные функции??? Типа Max/Count и тд ?
Re: Свои агрегатные функции
От: IT Россия linq2db.com
Дата: 04.08.11 03:38
Оценка:
Здравствуйте, Jack128, Вы писали:

J>В BLToolkit можно с помощью атрибутов SqlFunction/SqlExpression вводить собственные функции, которые будут вызываться на сервере. А можно ли водить свои агрегатные функции??? Типа Max/Count и тд ?


Можно пример на SQL с такой функцией?
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Свои агрегатные функции
От: Jack128  
Дата: 04.08.11 05:19
Оценка:
Здравствуйте, 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<> (+ возможно еще какие нить скаляры)
Re[3]: Свои агрегатные функции
От: ili Россия  
Дата: 04.08.11 07:50
Оценка:
Здравствуйте, Jack128, Вы писали:

J>max/count/list — это агрегатные функции то есть в контексте Linq — это функции, которые принемают в качестве параметра IQueriable<> (+ возможно еще какие нить скаляры)


эмн я думаю имелось ввиду пример на SQL тех ф-й которые вы хотите реализовать...
Re[4]: Свои агрегатные функции
От: Jack128  
Дата: 04.08.11 07:55
Оценка:
Здравствуйте, ili, Вы писали:

ili>Здравствуйте, Jack128, Вы писали:


J>>max/count/list — это агрегатные функции то есть в контексте Linq — это функции, которые принемают в качестве параметра IQueriable<> (+ возможно еще какие нить скаляры)


ili>эмн я думаю имелось ввиду пример на SQL тех ф-й которые вы хотите реализовать...

select list(id, ',') from my_table — это не SQL?
Re[5]: Свои агрегатные функции
От: ili Россия  
Дата: 04.08.11 08:35
Оценка:
Здравствуйте, Jack128, Вы писали:

J>select list(id, ',') from my_table — это не SQL?


ааа... да она как-то среди count и max затерялась
сразу и не заметил...
Re[3]: Свои агрегатные функции
От: IT Россия linq2db.com
Дата: 04.08.11 13:19
Оценка:
Здравствуйте, Jack128, Вы писали:

J>
J>select list(id, ',') from my_table;
J>


J>max/count/list — это агрегатные функции то есть в контексте Linq — это функции, которые принемают в качестве параметра IQueriable<> (+ возможно еще какие нить скаляры)


Про list поподробней. Что это такое?
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Свои агрегатные функции
От: Jack128  
Дата: 04.08.11 17:21
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, Jack128, Вы писали:


J>>
J>>select list(id, ',') from my_table;
J>>


J>>max/count/list — это агрегатные функции то есть в контексте Linq — это функции, которые принемают в качестве параметра IQueriable<> (+ возможно еще какие нить скаляры)


IT>Про list поподробней. Что это такое?


ну в firebird — это агрегат, типа string.Join, объединяет строковые представления поля в одну строку. + можно разделите задать. http://www.firebirdsql.org/refdocs/langrefupd21-aggrfunc-list.html
Re[5]: Свои агрегатные функции
От: IT Россия linq2db.com
Дата: 04.08.11 17:55
Оценка:
Здравствуйте, Jack128, Вы писали:

IT>>Про list поподробней. Что это такое?


J>ну в firebird — это агрегат, типа string.Join, объединяет строковые представления поля в одну строку. + можно разделите задать. http://www.firebirdsql.org/refdocs/langrefupd21-aggrfunc-list.html


Такую функцию можно задать обычным образом через [SqlFunction].
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: Свои агрегатные функции
От: Jack128  
Дата: 04.08.11 18:39
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, Jack128, Вы писали:


IT>>>Про list поподробней. Что это такое?


J>>ну в firebird — это агрегат, типа string.Join, объединяет строковые представления поля в одну строку. + можно разделите задать. http://www.firebirdsql.org/refdocs/langrefupd21-aggrfunc-list.html


IT>Такую функцию можно задать обычным образом через [SqlFunction].


Что то я не соображу, каким "обычным" образом? Можно в качестве примера, как ты с помощью SqlFunction выразить например Count (по структуре — абсолютный аналог list) ??
Re[7]: Свои агрегатные функции
От: Jack128  
Дата: 04.08.11 19:23
Оценка:
Здравствуйте, 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 есть поддержка чего-то подобного?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.