|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
ViPRosЛадно Хвост, ты просто лялякаешь, нет у вас никакой системы Мы не делаем Випрос, просто в чём-то очень похоже, не парься ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2016, 03:27 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
ViPRos, Кстати, у нас на Lua нижеприведённый из твоего скриншота скрипт был бы описан так: return User.Регион == Objects.Регион.Find({ ["Наименование региона"] = "Владимирская обл."}) или так return User["Регион"] == Objects["Регион"].Find({ ["Наименование региона"] = "Владимирская обл."}) Равнозначно. Вместо русских названий можно использовать псевдонимы, которые пишутся по правилам лексических идентификаторов и код будет ещё проще. ну вот и сравни теперь ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2016, 03:37 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
ViPRos, хотя на самом деле ещё проще: return User.Регион["Наименование региона"] == "Владимирская обл." ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2016, 03:40 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
hVostt, ты опять фантазируешь на тему в ВИПРОС указанный код имеет доступ к контексту автоматически, а тебе надо все эти User, Object и т.д. передавать в контекст скрипта Lua и самое главное, тебе надо парсить скрипт Lua, что бы найти, а что ей нужно передавать в контекст каждый раз ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2016, 11:27 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
ViPRosв ВИПРОС указанный код имеет доступ к контексту автоматически, а тебе надо все эти User, Object и т.д. передавать в контекст скрипта Lua и самое главное, тебе надо парсить скрипт Lua, что бы найти, а что ей нужно передавать в контекст каждый раз я передаю в Lua готовый чистый глобальный контекст, в котором всегда всё есть. все скрипты компилируются только раз, пока не будут изменены, никто не парсит их каждый раз. в общем, ты бредишь :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2016, 23:46 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
hVostt, угу - передаешь все, значит там всего то с гулькин нос ладно передавай ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2016, 02:50 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
ViPRosугу - передаешь все, значит там всего то с гулькин нос Ты как будто вчера родился. Давай посмотрим на контекст Entity Framework, он позволяет получить данные из любой базы независимо от её размеры, хоть там сотни тысяч таблиц и миллиарды записей, сам контекст при этом ничего не весит по сравнению с размером данных, которые можно получить. Ну и в чём проблема в скрипт передать прокси-объект, который вытягивает данные на лету по запросу? Чтобы избежать большого количества запросов, существует ряд оптимизаций, плюс DSL запросы, кеширование, и т.д. Знать о таком кошмаре, как GetObjectIDByObjectName пользователям вовсе необязательно, как и необходимость применять ToString для сравнения, объекты сравниваются по домену без всякой необходимости знать, как они там устроены, и что там есть какие-то айдишники. Собственно изначально мой комментарий был о том, что судя по скринам, разработка не юзер-френдли, а для сурового красноглазого разработчика. Я бы не рискнул выходить на публичные продажи с этим, если только не подразумевается, что в довесок к покупке следует приобрести консалтинг со стадом специально обученных красноглазиков в десять раз дороже, чем сам продукт. Надеюсь ты правильно поймёшь, что я имею в виду, тут я критикую с точки зрения обычного пользователя, а не разработчика :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2016, 03:31 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
hVostt, здрастье EF сама создает контекст и сама им управляет, это ты ее просишь что-то делать с ее контекстом через ее DSL. А Lua? Конечно все эти - AsEnumerable, GetObjectIDByObjectName - плохо (хотя бы из за того что многобукофф) надо как то упростить все это, но это требует создать свой куцый язык, что нежелательно, так как нет явных конечных границ применения этого языка - потому пока C# в полный рост ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2016, 16:21 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
ну а "красноглазиков" сейчас 80 чек (нифига себе, а как нам то жить? раздать всем бесплатно и пойти к мусе в кодеры?) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2016, 16:23 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
А так, если честно, вот уже 3 года появились какие то непонятные начальники (после того как я ушел на удаленку) и не дают мне перейти на > NET 4.0 (типа у всех на заводах стоит XP, хотя вранье все это) и потому я не могу использовать Roslyn. А он мне нужен не только для трансляции правил валидации и доступа хоть на русском, а и для более важной вещи. У меня есть понятие "контракт кода и метаданных". Т.е. если в коде использованы какие то объекты описанные в метаданных, то я слежу что бы эти метаданные эволюционировали так, что бы не повредить рабочий код (или метить код как не рабочий). Вот тут то Roslyn намного продвинут, чем рефлексия сраная. Уж, очень хочется код тоже перевести в метаданные и связать со структурными метаданными, вот тады ВИПРОС бы достиг своей цели и я бы оставил ее в покое по части метаданных и занимался бы управлением процессами. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2016, 16:45 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
ViPRosздрастье EF сама создает контекст и сама им управляет, это ты ее просишь что-то делать с ее контекстом через ее DSL. А Lua? Ну Lua это всего лишь язык, можно взять любой другой, хоть тот же C#. Суть не изменится, человеку надо дать простой, удобный и понятный DSL, без подробностей внутренней реализации. Собственно ты и делаешь что-то типа собственного динамического контекста, содержащего термины бизнеса. ViPRosКонечно все эти - AsEnumerable, GetObjectIDByObjectName - плохо (хотя бы из за того что многобукофф) надо как то упростить все это, но это требует создать свой куцый язык, что нежелательно, так как нет явных конечных границ применения этого языка - потому пока C# в полный рост Мы проходили это. Даже LINQ давали в руки. Но выяснилось, что искусственные ограничения минимальным набором терминов и средств DSL существенно сокращают затраты и время, как на обучение, так и на сопровождение. Да, без LINQ, лямбд и других продвинутых языковых средств иногда кода получается больше, но он зато кристально ясен и понятен и не требует квалификации программиста для написания высокоуровневой бизнес-логики. ViPRosну а "красноглазиков" сейчас 80 чек (нифига себе, а как нам то жить? раздать всем бесплатно и пойти к мусе в кодеры?) Ну ты знаешь, можно вообще ничего не автоматизировать, чтобы сохранить работу сотням людей :) Типа, не закупать калькуляторы, чтобы спасти отдел, работающих с деревянными счётами. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2016, 06:33 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
ViPRosА так, если честно, вот уже 3 года появились какие то непонятные начальники (после того как я ушел на удаленку) и не дают мне перейти на > NET 4.0 (типа у всех на заводах стоит XP, хотя вранье все это) и потому я не могу использовать Roslyn. А он мне нужен не только для трансляции правил валидации и доступа хоть на русском, а и для более важной вещи. У меня есть понятие "контракт кода и метаданных". Т.е. если в коде использованы какие то объекты описанные в метаданных, то я слежу что бы эти метаданные эволюционировали так, что бы не повредить рабочий код (или метить код как не рабочий). Вот тут то Roslyn намного продвинут, чем рефлексия сраная. Уж, очень хочется код тоже перевести в метаданные и связать со структурными метаданными, вот тады ВИПРОС бы достиг своей цели и я бы оставил ее в покое по части метаданных и занимался бы управлением процессами. Всё это решается полным отказом от десктопа и перехода на веб. Мне почему-то кажется, ты уже думал над этим. Что мешает? Вот, кстати, пример текста валидации, написан человеком, имеющему отношение к программированию, как я к космонавтике: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
Модель бизнес-данных уже тоже давно пишется предметниками. Никто из программистов не создавал эти cooling_type, oil_pump_power и т.д. Совершенно сознательно мы настояли, чтобы использовались англоязычные псевдонимы для терминов, а не полные русские наименования, так как последние имеют тенденцию постоянно видоизменяться, и это не должно нарушать никакую логику. С другой стороны мы разработали динамический интеллисенс и динамический справочник, так что это никому не мешает. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2016, 06:51 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
hVosttViPRosА так, если честно, вот уже 3 года появились какие то непонятные начальники (после того как я ушел на удаленку) и не дают мне перейти на > NET 4.0 (типа у всех на заводах стоит XP, хотя вранье все это) и потому я не могу использовать Roslyn. А он мне нужен не только для трансляции правил валидации и доступа хоть на русском, а и для более важной вещи. У меня есть понятие "контракт кода и метаданных". Т.е. если в коде использованы какие то объекты описанные в метаданных, то я слежу что бы эти метаданные эволюционировали так, что бы не повредить рабочий код (или метить код как не рабочий). Вот тут то Roslyn намного продвинут, чем рефлексия сраная. Уж, очень хочется код тоже перевести в метаданные и связать со структурными метаданными, вот тады ВИПРОС бы достиг своей цели и я бы оставил ее в покое по части метаданных и занимался бы управлением процессами. Всё это решается полным отказом от десктопа и перехода на веб. Мне почему-то кажется, ты уже думал над этим. Что мешает? Вот, кстати, пример текста валидации, написан человеком, имеющему отношение к программированию, как я к космонавтике: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
Модель бизнес-данных уже тоже давно пишется предметниками. Никто из программистов не создавал эти cooling_type, oil_pump_power и т.д. Совершенно сознательно мы настояли, чтобы использовались англоязычные псевдонимы для терминов, а не полные русские наименования, так как последние имеют тенденцию постоянно видоизменяться, и это не должно нарушать никакую логику. С другой стороны мы разработали динамический интеллисенс и динамический справочник, так что это никому не мешает. Сразу видна проблема. Как только кто то изменить все эти "mddc", "dc", ... ничего не будет работать. И это не самое главное - главное фиг найдешь где что не работает, так как код сам по себе верный, а результат - фигушки. Вот где видна выгода от типизации. И это ж про сообщение - надо выводить сообщение из ресурса, а то затрахаешься найти и исправить или локализовать. До всего этого обычно руки не доходят, но потом аукается сильно. Ну. а на модель хотелось бы посмотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2016, 12:30 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
ViPRosСразу видна проблема. Как только кто то изменить все эти "mddc", "dc", ... ничего не будет работать. Именно поэтому используются псевдонимы, а не русские наименования, как у тебя. Изменение псевдонима -- административная функция, создать можно, изменить нельзя. При изменении псевдонима объекта человек понимает чем это может грозить, для этого отображаются предупреждение. Плюс мы предпринимаем усилия для автоматического создания графа зависимостей при изменении скрипта, который полностью устранит проблему. ViPRosВот где видна выгода от типизации. И это ж про сообщение - надо выводить сообщение из ресурса, а то затрахаешься найти и исправить или локализовать. Локлизация есть для интерфейса, полноценная ресурсная, это у нас стандарт, никто строки в коде не пишет. Для бизнес-сообщений сделали хранилище, но им никто не пользуется. Именно такого решения оказывается достаточно. Но сама возможность есть. ViPRosДо всего этого обычно руки не доходят, но потом аукается сильно. Честно говоря там настолько специфичные сообщения, что они редко когда используются более чем в одном месте, да и никто не будет следовать этой культуре. В общем, для бизнес-валидации, не страшно. А вот для валидации на инфо-типах у нас всё строже :) ViPRosНу. а на модель хотелось бы посмотреть. Примерно так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Модель представляет собой объект типа LuaProxyObjectBase, его поведение и что он представляет зависит от текущего контекста исполнения. Т.е. там где ты в Lua видишь обращение через точку, на самом деле вызывается object[name]. Ну и там много всякой обвязки, кеш, безопасность, фэктори. Но по сути вот так из скрипта получают доступ к модели. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2016, 13:25 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
hVosttМодель представляет собой объект типа LuaProxyObjectBase, его поведение и что он представляет зависит от текущего контекста исполнения. Т.е. там где ты в Lua видишь обращение через точку, на самом деле вызывается object[name]. Ну и там много всякой обвязки, кеш, безопасность, фэктори. Но по сути вот так из скрипта получают доступ к модели. Не как модель передавать в контекст Луа, а саму модель имел ввиду, которую "пишут предметники". ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2016, 13:33 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
ViPRosНе как модель передавать в контекст Луа, а саму модель имел ввиду, которую "пишут предметники". Модель представляет собой два корневых типа объекта: справочники и документы. Справочники это объекты физического мира (иерархия подразделений, здания, объекты, должности, автомобили, что угодно, что можно охарактеризовать как сущность). Документы это факты. На текущий момент заведено более 500 типов справочников и более 300 типов документов. Характеристики описываются иерархией инфо-типов, их чуть больше 200. Всё это наколбасили предметники, не имеющие отношения к программированию. Я как представлю, сколько понадобилось бы человеко-часов и мудизма, чтобы запрограммировать эту систему классическим способом через классы-таблицы, мне становится дурно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2016, 15:24 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
hVostt, ну вот, когда я об этом говорил лет этак 10 тому назад все фыркали предмет должны автоматизировать предметники а наше дело автоматизировать программирование :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2016, 18:06 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
ViPRoshVostt, ну вот, когда я об этом говорил лет этак 10 тому назад все фыркали предмет должны автоматизировать предметники а наше дело автоматизировать программирование :) Шаришь! Фыркали, потому что либо не понимали, что так можно сделать, либо ещё банальней -- боялись, что лишатся постоянной оплачиваемой работы. Я бы скзаал проще. Наше дело -- дать мощный инструмент, а не заниматься тем, с чем может справится даже обезьяна до потери пульса. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2016, 19:30 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
ViPRos, Кстати, а я хотел предложить своим купить ВИПРОС, чтобы подвергнуть его препарации Но у вас на сайте, ни цен, ни демо-версии, ни урезанного дистриба. В общем, понял, что никто заморачиваться не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2016, 19:39 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
hVosttViPRos, Кстати, а я хотел предложить своим купить ВИПРОС, чтобы подвергнуть его препарации Но у вас на сайте, ни цен, ни демо-версии, ни урезанного дистриба. В общем, понял, что никто заморачиваться не будет. Изначально было принято решение, что ВИПРОС будет внутренним продуктом. Я всегда был против этого. Всегда рвался раздать бесплатно, что бы народ тестировал, и предъявлял требования. Просто наша фирма не заинтересована в деньгах, которых можно было бы заработать через продажи ВИПРОС. А вот прикладные вещи - пожалуйста. Я бы на вашем месте купил ВИП.Производство (а ВИПРОС бы подъехала в придачу :). ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2016, 20:40 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
ViPRosЯ бы на вашем месте купил ВИП.Производство (а ВИПРОС бы подъехала в придачу :). А есть фиксированная цена продукта? Ну или разные лицензии? Или всё зависит от кучи факторов? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2016, 08:39 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
ViPRosПросто наша фирма не заинтересована в деньгах, которых можно было бы заработать через продажи ВИПРОС. Дык склепай свою версию и начни продавать, не один конечно. За это время продукт мог бы уже нехило развиться при наличии самых разных инсталляций. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2016, 08:41 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
hVostt, Думаю об этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2016, 15:00 |
|
c# параллелизм в EntityFramework
|
|||
---|---|---|---|
#18+
hVosttViPRosЯ бы на вашем месте купил ВИП.Производство (а ВИПРОС бы подъехала в придачу :). А есть фиксированная цена продукта? Ну или разные лицензии? Или всё зависит от кучи факторов? Когда то было, сейчас по моему уже нет никакой политики. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2016, 15:02 |
|
|
start [/forum/topic.php?fid=17&msg=39356483&tid=1349337]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
165ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
others: | 234ms |
total: | 516ms |
0 / 0 |