Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Стоит ли использовать EntityFramework с Firebird для большой erp-системы? / 25 сообщений из 32, страница 1 из 2
19.09.2016, 17:56
    #39311445
FB Programmer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
смущают возможные тормоза при маппинге, необходимость переписывать sql-запросы. хотелось бы знать +/- подхода EntityFramework + Firebird для большой erp-системы
...
Рейтинг: 0 / 0
19.09.2016, 18:02
    #39311452
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
А у тебя разве есть выбор?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19.09.2016, 19:06
    #39311477
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
FB Programmer,

EntityFramework - это ORM, что само по себе подразумевает определённый подход к проектированию. Причём ORM которая подогнана под MS SQL. Firebird на неё натянуть можно, но с определёнными усилиями. SQL запросы написанные руками в некоторых случаях будут значительно быстрее, чем сгенерированные с помощью LINQ.

З.Ы. Если "смущают возможные тормоза", то лучше вообще не брать .NET, по крайней мере для десктопных приложений. Для Web это всё не так критично.
...
Рейтинг: 0 / 0
19.09.2016, 19:20
    #39311485
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Да не, сам по себе .NET особых тормозов не даст,
в т.ч. в связке с FB. EF - совсем другое дело.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19.09.2016, 19:56
    #39311507
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Гаджимурадов Рустамсам по себе .NET особых тормозов не даст
....если ты используешь его постоянно и у тебя запущен его сервис, который заранее
подгружает рантайм и прекомпилирует сборки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
20.09.2016, 07:23
    #39311616
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Симонов ДенисSQL запросы написанные руками в некоторых случаях будут значительно быстрее, чем сгенерированные с помощью LINQ.В каких случаях?
...
Рейтинг: 0 / 0
20.09.2016, 09:34
    #39311676
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Алексей К,

это не сложно выяснить самостоятельно. Включаешь трассировку и начинаешь писать запросы на LINQ постепенно усложняя их. Начнём с того что драйвер ADO.NET для Firebird начинает на каждый чих оборачивать предыдущий шаг в Devired table. Когда дело доходит до того чтобы посчитать какие-то агрегаты с группировкой и джойном нескольких таблиц запрос начинает не просто ужасно выглядеть, но ещё и медленно выполняться. Этот запрос переписанный ручками, если конечно приложить мозги, выполняется в 10 раз быстрее.

ИХМО для аналитики LINQ не очень подходит
...
Рейтинг: 0 / 0
20.09.2016, 09:36
    #39311678
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
одно предложение вписать забыл

Начнём с того что драйвер ADO.NET для Firebird начинает на каждый чих оборачивать предыдущий шаг в Devired table. Благо это оптимизатор Firebird нормально разруливает. ...
...
Рейтинг: 0 / 0
20.09.2016, 09:49
    #39311688
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Симонов ДенисАлексей К,

это не сложно выяснить самостоятельно. Включаешь трассировку и начинаешь писать запросы на LINQ постепенно усложняя их. Начнём с того что драйвер ADO.NET для Firebird начинает на каждый чих оборачивать предыдущий шаг в Devired table.Не замечал, чтобы вложенные запросы создавали проблемы для оптимизатора MSSQL. Это действительно так критично для Firebird, InterBase?
Симонов ДенисКогда дело доходит до того чтобы посчитать какие-то агрегаты с группировкой и джойном нескольких таблиц запрос начинает не просто ужасно выглядеть, но ещё и медленно выполняться. Этот запрос переписанный ручками, если конечно приложить мозги, выполняется в 10 раз быстрее.

ИХМО для аналитики LINQ не очень подходитЭто достаточно субъективная оценка.

Например ассоциации наоборот способствуют упрощению написания запросов с большим количеством задействованных таблиц.
...
Рейтинг: 0 / 0
20.09.2016, 09:52
    #39311690
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Симонов Денисодно предложение вписать забыл

Начнём с того что драйвер ADO.NET для Firebird начинает на каждый чих оборачивать предыдущий шаг в Devired table. Благо это оптимизатор Firebird нормально разруливает. ...Ну и почему тогда этот факт вызывает сложности?
...
Рейтинг: 0 / 0
20.09.2016, 10:16
    #39311713
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Алексей К,

я же сказал что сами по себе джойны с DT сложности у оптимизатора не вызывают, а вот если к этому добавить агрегаты с группировками, то будет уже туговато. Это проявляется из-за особенности делать группы по всем столбцам группируемого отношения. Я не могу привести пример прямо сейчас, но если интересно, могу повторить его дома в свободное время и выложить результаты.

Да и ещё это касается Firebird, у MS SQL совсем другой оптимизатор, да и я не пытался смотреть какие запросы в этих случаях генерируются для него. А Interbase ты вообще здесь зря упомянул, я вообще сомневаюсь, что его можно заставить там работать ибо он до сих пор не поддерживает Devired tables.

Алексей КНапример ассоциации наоборот способствуют упрощению написания запросов с большим количеством задействованных таблиц.

это оно так на LINQ просто выглядит, а ты посмотри во что это преобразуется на SQL. Поверь тем кто понимает SQL написать аналогичный запрос не составит труда и работать он будет эффективнее, другое дело как это потом самостоятельно отмапить на структуры EF, если оно вообще нужно для аналитики.
...
Рейтинг: 0 / 0
20.09.2016, 10:20
    #39311719
rdb_dev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Симонов ДенисDevired tablesМ.б. derived tables (производные таблицы)?
...
Рейтинг: 0 / 0
20.09.2016, 10:23
    #39311723
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
rdb_dev,

да именно они. У меня с английской грамматикой не очень
...
Рейтинг: 0 / 0
20.09.2016, 10:43
    #39311744
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Симонов ДенисАлексей К,

я же сказал что сами по себе джойны с DT сложности у оптимизатора не вызывают, а вот если к этому добавить агрегаты с группировками, то будет уже туговато. Это проявляется из-за особенности делать группы по всем столбцам группируемого отношения. Я не могу привести пример прямо сейчас, но если интересно, могу повторить его дома в свободное время и выложить результаты.Но ведь LINQ не самовольно применяет вложенные запросы. Это происходит, например, при использовании оператора let . Никто не завтавляет строить запрос таким образом, если вдруг вложенные запросы начинают мешать.
Симонов ДенисДа и ещё это касается Firebird, у MS SQL совсем другой оптимизатор, да и я не пытался смотреть какие запросы в этих случаях генерируются для него.Не думаю, что там есть принципиальные отличия.
Симонов ДенисАлексей КНапример ассоциации наоборот способствуют упрощению написания запросов с большим количеством задействованных таблиц.

это оно так на LINQ просто выглядит, а ты посмотри во что это преобразуется на SQL.Преобразуется в обычные join , во что же ещё можно это преобразовать.
Симонов ДенисПоверь тем кто понимает SQL написать аналогичный запрос не составит труда и работать он будет эффективнее, другое дело как это потом самостоятельно отмапить на структуры EF, если оно вообще нужно для аналитики.Тут дело в удобстве написания, вероятности ошибок и уровне контроля на этапе компиляции.

Например, при использовании ассоциаций вероятность ошибочного объединения таблиц по неправильным полям равна 0. Разумеется, при выборе правильной ассоциации.
...
Рейтинг: 0 / 0
20.09.2016, 10:47
    #39311747
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Hello, Алексей К!
You wrote on 20 сентября 2016 г. 10:47:22:

Алексей К> Не думаю, что там есть принципиальные отличия.не думай.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
20.09.2016, 10:50
    #39311749
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
МимопроходящийHello, Алексей К!
You wrote on 20 сентября 2016 г. 10:47:22:

Алексей К> Не думаю, что там есть принципиальные отличия.не думай.

проходи.
...
Рейтинг: 0 / 0
20.09.2016, 11:12
    #39311770
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Алексей К,

я не пойму ты чего тут защищаешь LINQ? Ну технология интересная, хорошо работает с коллекциями в памяти, даже хитрым образом преобразуется в прямой SQL запрос. Но пробовал ли ты работать конкретно с Firebird? Смотрел ли ты в какие именно запросы преобразуются твои LINQ выражения? Я пробовал. Если производительность достаточная, то мне собственно всё равно насколько страшно выглядит полученный SQL запрос, но вот когда её оказывается не достаточно, то смотря на тот ужас который был сгенерирован начинаешь понимать почему.
...
Рейтинг: 0 / 0
20.09.2016, 11:23
    #39311781
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Симонов ДенисАлексей К,

я не пойму ты чего тут защищаешь LINQ?Почему нет? Это запрещено правилами форума?
Симонов ДенисНу технология интересная, хорошо работает с коллекциями в памяти, даже хитрым образом преобразуется в прямой SQL запрос.Да.
Симонов ДенисНо пробовал ли ты работать конкретно с Firebird?Нет. Поэтому мне интересно твоё мнение по данному вопросу.
Симонов ДенисСмотрел ли ты в какие именно запросы преобразуются твои LINQ выражения?На MSSQL смотрел.
Симонов ДенисЯ пробовал. Если производительность достаточная, то мне собственно всё равно насколько страшно выглядит полученный SQL запрос, но вот когда её оказывается не достаточно, то смотря на тот ужас который был сгенерирован начинаешь понимать почему.Я всё понял, можешь не продолжать. Удачи!
...
Рейтинг: 0 / 0
20.09.2016, 11:34
    #39311801
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Алексей КНа MSSQL смотрел.

а я нет. Возможно ADO.NET драйвер под MS SQL генерирует более прямые запросы. А может быть в MS SQL более умный оптимизатор, который выруливает из этих ситуаций.

Алексей КПочему нет? Это запрещено правилами форума?

я не против LINQ, но и не считаю, что его надо пихать во все дыры. Раз ты большой знаток этой технологии тогда спрошу. Тебе всегда хватает возможностей LINQ или всё же приходится что-то делать прямыми запросами?
...
Рейтинг: 0 / 0
20.09.2016, 11:39
    #39311807
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Симонов ДенисТебе всегда хватает возможностей LINQ или всё же приходится что-то делать прямыми запросами?Да, LINQ не умеет генерировать, например, рекурсивные запросы. В этом случае рекурсивная часть запроса выносится во view, после чего LINQ работает с view как с обычной таблицей.
...
Рейтинг: 0 / 0
20.09.2016, 11:39
    #39311809
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Hello, Симонов Денис!
You wrote on 20 сентября 2016 г. 11:37:18:

Симонов Денис> или всё же приходится что-то делать прямыми запросами?гы-гы
на rsdn-е за подобные крамольные мысли предают анафеме!
(не шучу)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
20.09.2016, 11:54
    #39311830
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Алексей КДа, LINQ не умеет генерировать, например, рекурсивные запросы. В этом случае рекурсивная часть запроса выносится во view, после чего LINQ работает с view как с обычной таблицей.

Спасибо, так я и думал. А то уже хотел подкинуть задачку на вывод родословной животного с изменяемым количеством рядов. Кстати вьюха в этом случае не очень то поможет, ибо не принимает параметров.
...
Рейтинг: 0 / 0
20.09.2016, 12:07
    #39311841
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Симонов ДенисКстати вьюха в этом случае не очень то поможет, ибо не принимает параметров.Как скажешь.
...
Рейтинг: 0 / 0
20.09.2016, 12:13
    #39311847
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Алексей К,

таки признаёшь что LINQ и EF без вставок чистого SQL не может обеспечить всех потребностей? Если у тебя есть решение, то очень хотел бы его увидеть. Просто интересно может я чего пропустил.
...
Рейтинг: 0 / 0
20.09.2016, 12:54
    #39311900
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Стоит ли использовать EntityFramework с Firebird для большой erp-системы?
Симонов ДенисАлексей К,

таки признаёшь что LINQ и EF без вставок чистого SQL не может обеспечить всех потребностей? Если у тебя есть решение, то очень хотел бы его увидеть. Просто интересно может я чего пропустил.С этим никто не спорит. Удивили какие-то "случаи" , в которых "SQL запросы написанные руками в некоторых случаях будут значительно быстрее, чем сгенерированные с помощью LINQ".
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Стоит ли использовать EntityFramework с Firebird для большой erp-системы? / 25 сообщений из 32, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]