|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
смущают возможные тормоза при маппинге, необходимость переписывать sql-запросы. хотелось бы знать +/- подхода EntityFramework + Firebird для большой erp-системы ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 17:56 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
А у тебя разве есть выбор?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 18:02 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
FB Programmer, EntityFramework - это ORM, что само по себе подразумевает определённый подход к проектированию. Причём ORM которая подогнана под MS SQL. Firebird на неё натянуть можно, но с определёнными усилиями. SQL запросы написанные руками в некоторых случаях будут значительно быстрее, чем сгенерированные с помощью LINQ. З.Ы. Если "смущают возможные тормоза", то лучше вообще не брать .NET, по крайней мере для десктопных приложений. Для Web это всё не так критично. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 19:06 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Да не, сам по себе .NET особых тормозов не даст, в т.ч. в связке с FB. EF - совсем другое дело. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 19:20 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустамсам по себе .NET особых тормозов не даст ....если ты используешь его постоянно и у тебя запущен его сервис, который заранее подгружает рантайм и прекомпилирует сборки. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 19:56 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Симонов ДенисSQL запросы написанные руками в некоторых случаях будут значительно быстрее, чем сгенерированные с помощью LINQ.В каких случаях? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 07:23 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Алексей К, это не сложно выяснить самостоятельно. Включаешь трассировку и начинаешь писать запросы на LINQ постепенно усложняя их. Начнём с того что драйвер ADO.NET для Firebird начинает на каждый чих оборачивать предыдущий шаг в Devired table. Когда дело доходит до того чтобы посчитать какие-то агрегаты с группировкой и джойном нескольких таблиц запрос начинает не просто ужасно выглядеть, но ещё и медленно выполняться. Этот запрос переписанный ручками, если конечно приложить мозги, выполняется в 10 раз быстрее. ИХМО для аналитики LINQ не очень подходит ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 09:34 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
одно предложение вписать забыл Начнём с того что драйвер ADO.NET для Firebird начинает на каждый чих оборачивать предыдущий шаг в Devired table. Благо это оптимизатор Firebird нормально разруливает. ... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 09:36 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Симонов ДенисАлексей К, это не сложно выяснить самостоятельно. Включаешь трассировку и начинаешь писать запросы на LINQ постепенно усложняя их. Начнём с того что драйвер ADO.NET для Firebird начинает на каждый чих оборачивать предыдущий шаг в Devired table.Не замечал, чтобы вложенные запросы создавали проблемы для оптимизатора MSSQL. Это действительно так критично для Firebird, InterBase? Симонов ДенисКогда дело доходит до того чтобы посчитать какие-то агрегаты с группировкой и джойном нескольких таблиц запрос начинает не просто ужасно выглядеть, но ещё и медленно выполняться. Этот запрос переписанный ручками, если конечно приложить мозги, выполняется в 10 раз быстрее. ИХМО для аналитики LINQ не очень подходитЭто достаточно субъективная оценка. Например ассоциации наоборот способствуют упрощению написания запросов с большим количеством задействованных таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 09:49 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Симонов Денисодно предложение вписать забыл Начнём с того что драйвер ADO.NET для Firebird начинает на каждый чих оборачивать предыдущий шаг в Devired table. Благо это оптимизатор Firebird нормально разруливает. ...Ну и почему тогда этот факт вызывает сложности? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 09:52 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Алексей К, я же сказал что сами по себе джойны с DT сложности у оптимизатора не вызывают, а вот если к этому добавить агрегаты с группировками, то будет уже туговато. Это проявляется из-за особенности делать группы по всем столбцам группируемого отношения. Я не могу привести пример прямо сейчас, но если интересно, могу повторить его дома в свободное время и выложить результаты. Да и ещё это касается Firebird, у MS SQL совсем другой оптимизатор, да и я не пытался смотреть какие запросы в этих случаях генерируются для него. А Interbase ты вообще здесь зря упомянул, я вообще сомневаюсь, что его можно заставить там работать ибо он до сих пор не поддерживает Devired tables. Алексей КНапример ассоциации наоборот способствуют упрощению написания запросов с большим количеством задействованных таблиц. это оно так на LINQ просто выглядит, а ты посмотри во что это преобразуется на SQL. Поверь тем кто понимает SQL написать аналогичный запрос не составит труда и работать он будет эффективнее, другое дело как это потом самостоятельно отмапить на структуры EF, если оно вообще нужно для аналитики. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 10:16 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Симонов ДенисDevired tablesМ.б. derived tables (производные таблицы)? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 10:20 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
rdb_dev, да именно они. У меня с английской грамматикой не очень ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 10:23 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Симонов ДенисАлексей К, я же сказал что сами по себе джойны с DT сложности у оптимизатора не вызывают, а вот если к этому добавить агрегаты с группировками, то будет уже туговато. Это проявляется из-за особенности делать группы по всем столбцам группируемого отношения. Я не могу привести пример прямо сейчас, но если интересно, могу повторить его дома в свободное время и выложить результаты.Но ведь LINQ не самовольно применяет вложенные запросы. Это происходит, например, при использовании оператора let . Никто не завтавляет строить запрос таким образом, если вдруг вложенные запросы начинают мешать. Симонов ДенисДа и ещё это касается Firebird, у MS SQL совсем другой оптимизатор, да и я не пытался смотреть какие запросы в этих случаях генерируются для него.Не думаю, что там есть принципиальные отличия. Симонов ДенисАлексей КНапример ассоциации наоборот способствуют упрощению написания запросов с большим количеством задействованных таблиц. это оно так на LINQ просто выглядит, а ты посмотри во что это преобразуется на SQL.Преобразуется в обычные join , во что же ещё можно это преобразовать. Симонов ДенисПоверь тем кто понимает SQL написать аналогичный запрос не составит труда и работать он будет эффективнее, другое дело как это потом самостоятельно отмапить на структуры EF, если оно вообще нужно для аналитики.Тут дело в удобстве написания, вероятности ошибок и уровне контроля на этапе компиляции. Например, при использовании ассоциаций вероятность ошибочного объединения таблиц по неправильным полям равна 0. Разумеется, при выборе правильной ассоциации. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 10:43 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Hello, Алексей К! You wrote on 20 сентября 2016 г. 10:47:22: Алексей К> Не думаю, что там есть принципиальные отличия.не думай. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 10:47 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
МимопроходящийHello, Алексей К! You wrote on 20 сентября 2016 г. 10:47:22: Алексей К> Не думаю, что там есть принципиальные отличия.не думай. проходи. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 10:50 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Алексей К, я не пойму ты чего тут защищаешь LINQ? Ну технология интересная, хорошо работает с коллекциями в памяти, даже хитрым образом преобразуется в прямой SQL запрос. Но пробовал ли ты работать конкретно с Firebird? Смотрел ли ты в какие именно запросы преобразуются твои LINQ выражения? Я пробовал. Если производительность достаточная, то мне собственно всё равно насколько страшно выглядит полученный SQL запрос, но вот когда её оказывается не достаточно, то смотря на тот ужас который был сгенерирован начинаешь понимать почему. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:12 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Симонов ДенисАлексей К, я не пойму ты чего тут защищаешь LINQ?Почему нет? Это запрещено правилами форума? Симонов ДенисНу технология интересная, хорошо работает с коллекциями в памяти, даже хитрым образом преобразуется в прямой SQL запрос.Да. Симонов ДенисНо пробовал ли ты работать конкретно с Firebird?Нет. Поэтому мне интересно твоё мнение по данному вопросу. Симонов ДенисСмотрел ли ты в какие именно запросы преобразуются твои LINQ выражения?На MSSQL смотрел. Симонов ДенисЯ пробовал. Если производительность достаточная, то мне собственно всё равно насколько страшно выглядит полученный SQL запрос, но вот когда её оказывается не достаточно, то смотря на тот ужас который был сгенерирован начинаешь понимать почему.Я всё понял, можешь не продолжать. Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:23 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Алексей КНа MSSQL смотрел. а я нет. Возможно ADO.NET драйвер под MS SQL генерирует более прямые запросы. А может быть в MS SQL более умный оптимизатор, который выруливает из этих ситуаций. Алексей КПочему нет? Это запрещено правилами форума? я не против LINQ, но и не считаю, что его надо пихать во все дыры. Раз ты большой знаток этой технологии тогда спрошу. Тебе всегда хватает возможностей LINQ или всё же приходится что-то делать прямыми запросами? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:34 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Симонов ДенисТебе всегда хватает возможностей LINQ или всё же приходится что-то делать прямыми запросами?Да, LINQ не умеет генерировать, например, рекурсивные запросы. В этом случае рекурсивная часть запроса выносится во view, после чего LINQ работает с view как с обычной таблицей. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:39 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Hello, Симонов Денис! You wrote on 20 сентября 2016 г. 11:37:18: Симонов Денис> или всё же приходится что-то делать прямыми запросами?гы-гы на rsdn-е за подобные крамольные мысли предают анафеме! (не шучу) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:39 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Алексей КДа, LINQ не умеет генерировать, например, рекурсивные запросы. В этом случае рекурсивная часть запроса выносится во view, после чего LINQ работает с view как с обычной таблицей. Спасибо, так я и думал. А то уже хотел подкинуть задачку на вывод родословной животного с изменяемым количеством рядов. Кстати вьюха в этом случае не очень то поможет, ибо не принимает параметров. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 11:54 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Симонов ДенисКстати вьюха в этом случае не очень то поможет, ибо не принимает параметров.Как скажешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 12:07 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Алексей К, таки признаёшь что LINQ и EF без вставок чистого SQL не может обеспечить всех потребностей? Если у тебя есть решение, то очень хотел бы его увидеть. Просто интересно может я чего пропустил. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 12:13 |
|
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
|
|||
---|---|---|---|
#18+
Симонов ДенисАлексей К, таки признаёшь что LINQ и EF без вставок чистого SQL не может обеспечить всех потребностей? Если у тебя есть решение, то очень хотел бы его увидеть. Просто интересно может я чего пропустил.С этим никто не спорит. Удивили какие-то "случаи" , в которых "SQL запросы написанные руками в некоторых случаях будут значительно быстрее, чем сгенерированные с помощью LINQ". ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 12:54 |
|
|
start [/forum/topic.php?fid=40&msg=39311678&tid=1561964]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 162ms |
0 / 0 |