|
|
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
ajijohn, Мода и понты. ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2017, 14:52:41 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
ajijohn, Идет работа сразу с бизнес-объектами, а не с таблицами/базой. По сути -- более высокий уровень абстракции (по аналогии -- пишем на объектном языке типа делфи вместо ассемблера). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2017, 20:27:01 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
ajijohnПодскажите, пожалуйста, для чего люди используют ORM, EntityDac в частности? Я вот пытаюсь его потестить и прихожу к выводу, что он нужен только для того, чтобы не писать запросы в delphi. Сколько себя помню, то все запросы у меня оформлены в виде хранимых процедур и выполняются на сервере. Я может не с той стороны смотрю на использование ORM. Какие вообще преимущества от его использования? Заранее спасибо, за ответы. Можно не учить SQL, но работать с БД. Большинство так и делают. У нас ВСЯ команда .NET разработчиков знают SQL на уровне только простого SELECT FROM. Все что дальше покрыто мраком для них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2017, 20:38:33 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
На сколько я успел понять, EntityDac генерит запросы и выполняет их а-ля query, которые существенно проигрывают по производительности хранимым процедурам. Естественно, речь идет не выборке из одной таблицы с 1к записей. Пытался найти хоть какую-то информацию об использовании хранимых процедур в EntityDac, но есть очень древняя инфа о том, они не поддерживаются. Да и отладкой там как-то не все гладко получается:) Я сейчас говорю про конкретный случай - использование EntityDac. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2017, 22:09:22 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Много лет уже не пишу на Delphi, вполне могу не знать многого. Но я в принципе не понимаю, как в языке без Garbage Collector можно использовать ORM. Ну правда. Полноценный ORM - это не просто маппер датасета в коллекцию объектов. Это ещё и ленивая подгрузка, подтягивание зависимостей (и циклических в том числе), кэширование с тучей стратегий... В своё время пытался понарисовать абстракций поверх датасетов, но постоянный AV охладил пыл. Скажете, что 'ниасилил'? Возможно. Но не могу понять, как же без Garbage Collector... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2017, 22:09:59 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Меня еще смущает то, как там строится план выполнения запросов. Я в свое время написал компонент, в котором в качестве свойств используются ссылки на хранимые процедуры, которые и вызываются определенных условиях и меня это вполне устраивает. Вот думаю стоит ли это поменять на EntityDac, но пока больших плюсов что-то не вижу, тем более что работать с таблицами напрямую меня еще в детстве отучили. Да и при таком раскладе получается, что вся логика будет в софте, что не есть гуд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2017, 22:28:41 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
ajijohnНа сколько я успел понять, EntityDac генерит запросы и выполняет их а-ля query, которые существенно проигрывают по производительности хранимым процедурам. Естественно, речь идет не выборке из одной таблицы с 1к записей. Пытался найти хоть какую-то информацию об использовании хранимых процедур в EntityDac, но есть очень древняя инфа о том, они не поддерживаются. Да и отладкой там как-то не все гладко получается:) Я сейчас говорю про конкретный случай - использование EntityDac. Всё прекрасно работает. И прямые запросы, и даже процедуры: https://www.devart.com/entitydac/docs/?sql_executing.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2017, 23:01:12 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
JaDiВсё прекрасно работает. И прямые запросы, и даже процедуры: https://www.devart.com/entitydac/docs/?sql_executing.htm Работать то работает, но как с помощь хранимой процедуры вернуть табличное значение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 00:24:45 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
AJi, Прямо так и возвращается, через курсор: http://forums.devart.com/viewtopic.php?p=113822#p113822 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 09:24:37 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Если бы я делал проект типа веб-сервиса то возможно и использовал бы ORM. А в случае обычного VCL приложения смысла не вижу, зачем усолжнять то что отлажено и отполировано годами человекочасов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 10:35:47 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Судя по тому что Вы пишете с знаниями в этой области у Вас не очень. Уверяю Вас, первый блин в этой области у Вас будет комом, на чём бы Вы не начали писать. Потратите только деньги и время. Потому берити готовую ERP и допиливайте под свои нужды. Там практически всё есть что нужно для Вашей задачи и уже более менее оптимально написано. Если не хотите тратиться на что то вроде AP+ (мне нравится, русского наверное нет) то посмотрите в сторону open source Metasfresh ERP (тоже неплоха но надо разбираться, русский не проверял но даже если нет можно перевести за пару дней). Связываться с тяжеловесами типа SAP не рекомендую, скорее всего не потянете по деньгам, а если и денег достаточно то не факт что спецов найдёте которые могут что то стоящее сделать, что работает быстро и удобно в использовании. Короче не начинайте изобретать велосипед, на уровне Ваших задач давно уже всё есть и отлажено. Просто учитесь искать и не жмитесь на расходы по изучению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 10:50:42 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
JaDiAJi, Прямо так и возвращается, через курсор: http://forums.devart.com/viewtopic.php?p=113822#p113822 Тут не используются хранимые процедуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 10:56:45 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
в догонку 4 Open Source ERP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 11:13:15 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Диез, авторВ своё время пытался понарисовать абстракций поверх датасетов, но постоянный AV охладил пыл Нужно ли их постоянно создавать и разрушать? Я у себя в одном из проектов использую пулл датасетов. Удобно, нужен - взял - поюзал. Не нужно - вернул в пул. Всё чисто, аккуратно и просто, пул - ну может 20 строк кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 11:16:31 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Сейчас ответили из Metasfresh, русский язык уже есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 11:17:51 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
AJi, Используется. Хранимые процедуры вызываются стандартным методом в обычном sql-query вида: begin procname(); end; -- например, для оракла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 11:18:59 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Mikhail TchervonenkoСейчас ответили из Metasfresh, русский язык уже есть сорри, я их неправильно понял, среда мультиязычная , русский могут быстро добавить если будет интерес ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 11:20:09 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Как и любой инструмент, надо уметь использовать и понимать где его целесообразно применить. Честно говоря надоедает рутина. Вот надо себе прикручивать в программу БД (для хранения настроек, результатов расчетов и т.д.). Надо создавать таблицы, кидать dataset-ы писать "...Field.AsFloat := ...", Edit, Post.Кучу элементарных запросов "select * from..." Потом, проект развивается, структура данных изменяется (как правило надо добавлять новые поля). Опять лезь в DataSet и т.д. Уже раздражает. Хочется жизнь упростить. А если нужен будет сложный (эффективный) запрос, уж как нибудь осилю :) Так что для себя решил в новом проекте начать использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 11:23:59 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
написали что сейчас обновляют прайс лист (это не значит что платить обязательно, система бесплатна если сам во всём разбираешься, за поддержку 24€ в месяз за пользователя). Каждый месяц можно отказаться) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 11:25:24 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
JaDiAJi, Используется. Хранимые процедуры вызываются стандартным методом в обычном sql-query вида: begin procname(); end; -- например, для оракла. Просто я видимо привык, использовать хранимые процедуры c помощью специализированных компонентов, у которых в свойствах просто нужно прописать имя процедуры Но вот никак не отпускает меня мысль, что обновление и добавление данных в таблицу напрямую - это не есть хорошо. Ну и плюс при использовании процедур EntityDac ну никак не поймет где и что обновлять нужно, а значит кардинально ничего и не поменяется, просто добавится лишняя прослойка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 12:14:05 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Чем плохо работать напрямую с таблицей, при условии что все запросы заранее отлажены на тестовом полигоне? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 12:34:40 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Как минимум - это небезопасно. Пользователю нужно будет давать права на добавление, изменение, удаление данных из таблицы. Если, например, нужно обновить несколько таблиц в результате действий пользователя, то в случае с хранимыми процедурами вся логика будет на сервере, а при использовании ORM нужно будет всю логику реализовывать в софте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 12:45:59 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
AJi, У нас пользователь напрямую бд не видит. Работает через веб сервисы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 13:06:26 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
А в сервисах уже выполняяються запросы к таблицам. Причем сам текст запросов лежит в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 13:07:53 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
rgreatЧем плохо работать напрямую с таблицей, при условии что все запросы заранее отлажены на тестовом полигоне?Это реальный вопрос или стёб ? Просто "в лоб" записывать значение в таблицу крайне нежелательно, т.к. это может серьезно нарушить бизнес логику (не говоря уже о халатности или злом умысле). Примеры, надеюсь не нужны ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 13:08:25 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39455660&tid=2042281]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 224ms |
| total: | 392ms |

| 0 / 0 |
