|
EF использование аналитических функций MS SQL
|
|||
---|---|---|---|
#18+
Возможно ли использовать percentile_disc а стороне Entity Framework ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 14:50 |
|
EF использование аналитических функций MS SQL
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 14:58 |
|
EF использование аналитических функций MS SQL
|
|||
---|---|---|---|
#18+
Lelouch, т.е. ни как? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 15:18 |
|
EF использование аналитических функций MS SQL
|
|||
---|---|---|---|
#18+
Блин, вот зайдёшь на русский форум, задашь вопрос по русски... а не стековерлоу... Вот вчера я пытался по этим ссылкам замутить http://stackoverflow.com/questions/24161005/error-6046-unable-to-generate-function-import-return-type-of-the-store-function https://social.msdn.microsoft.com/Forums/ru-RU/90cb6083-d14c-4dba-bc60-e3dcacb2fb40/unable-to-generate-function-import-for-a-simple-function?forum=adodotnetentityframework тут кстати хорошая фраза Um, this is ridiculous. It has been almost 1 year since this thread. Even worse, I took a break from EF 3 years ago because of limitations like this and now I come back to see that you STILL cannot use scalar UDF's in EF. Am I missing something? var q = from item in context.Items select new { Id = item.Id, Something = ufn_MyFunction(item.Id) }; I am now prototyping a new application and find that I STILL cannot do this years later. What is going on? Но у меня ничерта не получалось в моём случае и непонятная ошибка с типами данных была. Проще стало написать "хранимку-обёртку". А потом всё же решил тупо табличную функцию сделать, она кстати хорошо прокатила (ну и outer apply её), в ЭФ с этим гораздо удобнее работать и без лишних танцев с бубном. Ксати, [EdmFunction("SchoolModel.Store", "AvgStudentGrade")] public static decimal? AvgStudentGrade(int studentId) { throw new NotSupportedException("Direct calls are not supported."); } как я понимаю не даст так красиво использовать в примере var students = from s in context.People where s.EnrollmentDate != null select new { name = s.LastName, avgGrade = AvgStudentGrade(s.PersonID) }; ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 15:18 |
|
EF использование аналитических функций MS SQL
|
|||
---|---|---|---|
#18+
NIIIK, с оконными функциями не так просто. Ни как? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 15:21 |
|
EF использование аналитических функций MS SQL
|
|||
---|---|---|---|
#18+
NIIIK, Как вариант по этому примеру написать функцию, которая по заданным параметрам будет вызывать percentile_disc и выдавать 1 число в виде результата. Если нужно сразу для всех, то, имхо, прощу написать хранимку, которая будет выполнять весь запрос сразу ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 15:27 |
|
EF использование аналитических функций MS SQL
|
|||
---|---|---|---|
#18+
buser, Ну напрямую я не нашёл как, не шарю, пришлось обычную УДФ писать, потом другая шляпа, потом в итогде табличную инлайн функцию смог написать (зато вывел и медианное значение от percentile_disc и какое количество туда попало). В самом линке можно ли её вызывать до сих пор не шарю. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 15:33 |
|
EF использование аналитических функций MS SQL
|
|||
---|---|---|---|
#18+
LelouchNIIIK, Как вариант по этому примеру написать функцию, которая по заданным параметрам будет вызывать percentile_disc и выдавать 1 число в виде результата. Если нужно сразу для всех, то, имхо, прощу написать хранимку, которая будет выполнять весь запрос сразу Мапить её и сложно и НЕ получилось. В итоге табличная функция. Хотя сначала была хранимка, т. е. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
(хотя в мануале выше вроде написано что должно прокатить, но не получалось, саму функцию я вроде смапил, ошибка была только в рантайме) Да и вызов процедуры тот ещё танец с бубном ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 15:37 |
|
|
start [/forum/topic.php?fid=17&msg=39238325&tid=1349398]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
183ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 242ms |
total: | 518ms |
0 / 0 |