|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Сейчас используется Fluent NHibernate 1.2 (NHibernate 2.1.2). СУБД MS SQL 2008 R2. Узнал о технологии LINQ, попробовал на объектах .Net - понравилось. Хочу перевести приложение на Fluent NHibernate 1.2 и NHibernate 3.1. Кто уже перешел или почему не перешел? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2011, 17:20 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Я использую NHibernate 3 + Fluent NHibernate (собрал из исходников) + NHibernate.Linq (собрал из исходников) никаких проблем нет, все работает ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2011, 21:42 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
depend86Я использую NHibernate 3 + Fluent NHibernate (собрал из исходников) + NHibernate.Linq (собрал из исходников) никаких проблем нет, все работает Видимо, это не встроенный в NHibernate 3.x LINQ, а NHibernate.Linq.dll. Но зачем, если в NHibernate 3 есть своя реализация? И почему собранный из исходников? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2011, 21:57 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
depend86Я использую NHibernate 3 + Fluent NHibernate (собрал из исходников) + NHibernate.Linq (собрал из исходников) никаких проблем нет, все работает Не советовал бы использовать NHibernate.Linq с 3-ми версия. Встроенный в трёшку linq-провайдер полностью переписан, и полнее его реализует. Основная проблема с LINQ в том, что он очень хорошо ложится на объекты, и далеко не всегда удачно удаётся его прикрутить к БД. Насколько я знаю, даже мелкомягкие реализации под под EF далеко не всё возможности LINQ реализлизует. NHibernate тоже не исключение. Left join к примеру не поддерживается. (которые в LINQ делается через DefaultIfEmpty()) В общем можете использовать, но иногда его возможностей будет не хватать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2011, 22:38 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorОсновная проблема с LINQ в том, что он очень хорошо ложится на объекты, и далеко не всегда удачно удаётся его прикрутить к БД. Насколько я знаю, даже мелкомягкие реализации под под EF далеко не всё возможности LINQ реализлизует.В EF достаточно возможностей для комфортной работы с LINQ-to-SQL. Главное относится к этому не как к LINQ, а как к генератору SQL. :-) SolYUtorNHibernate тоже не исключение. Left join к примеру не поддерживается. (которые в LINQ делается через DefaultIfEmpty())Другими словами LINQ в NHibernate пока нет. :-) SolYUtorВ общем можете использовать, но иногда его возможностей будет не хватать.Если что-то не получается сделать через LINQ - можно добавить в БД View, и делать LINQ-запросы к нему. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2011, 15:52 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей К, Алексей КДругими словами LINQ в NHibernate пока нет. :-) Если рассматривать с позиций всё или ничего, то тогда и в EF нет. Алексей КЕсли что-то не получается сделать через LINQ - можно добавить в БД View, и делать LINQ-запросы к нему. C NHibernate? Через вьюхи в бд? Окстить, Алексей! Столько возможностей для запросов в NH, чтобы возвращаться к старым недобрым вьюхам. И дело не только в том, что их тоже надо поддерживать в адекватном состоянии Для эффективной работы с БД нельзя полагаться на дефлотное поведение маппера. Как правило, это вопросы когда и в каком объёме грузить данные. Вот в хибере для этого много возможностей. PS. Не так давно делал обзор, почему EF намного хуже чем NH. Может быть как-нибудь выложу. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2011, 16:07 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorАлексей КДругими словами LINQ в NHibernate пока нет. :-) Если рассматривать с позиций всё или ничего, то тогда и в EF нет.По сравнению с NH он там есть. И его вполне достаточно. :-) SolYUtorАлексей КЕсли что-то не получается сделать через LINQ - можно добавить в БД View, и делать LINQ-запросы к нему. C NHibernate? Через вьюхи в бд? Окстить, Алексей! Столько возможностей для запросов в NH, чтобы возвращаться к старым недобрым вьюхам.Почему "недобрым"? SolYUtorИ дело не только в том, что их тоже надо поддерживать в адекватном состоянииИх будет не много, меняться они будут редко. Да и механизмы их поддержки в актуальном состоянии всеми давно изучены и опробованы на практике. SolYUtorДля эффективной работы с БД нельзя полагаться на дефлотное поведение маппера. Как правило, это вопросы когда и в каком объёме грузить данные. Вот в хибере для этого много возможностей.Никогда не ценил Lazy Load, если об этом. Тут можно легко обходиться без него. SolYUtorНе так давно делал обзор, почему EF намного хуже чем NH. Может быть как-нибудь выложу.Выкладывайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2011, 16:22 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorЕсли рассматривать с позиций всё или ничего, то тогда и в EF нет.С позиции разумной достаточности. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2011, 16:23 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
CVlasovdepend86Я использую NHibernate 3 + Fluent NHibernate (собрал из исходников) + NHibernate.Linq (собрал из исходников) никаких проблем нет, все работает Видимо, это не встроенный в NHibernate 3.x LINQ, а NHibernate.Linq.dll. Но зачем, если в NHibernate 3 есть своя реализация? И почему собранный из исходников? я и не знал, что в nhibernate 3 есть собственный linq :) в следующем проекте попробую ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2011, 20:48 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Для меня хибер пригоден только для мелких пооектов. Ибо отсутствие дизайнера и кодогенерации. Кодогенерация модели по БД - наше всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2011, 22:32 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУКодогенерация модели по БД - наше всё. Какие фреймворки используете? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2011, 23:21 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУДля меня хибер пригоден только для мелких пооектов. Ибо отсутствие дизайнера и кодогенерации . T4 чё? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2011, 05:45 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
depend86я и не знал, что в nhibernate 3 есть собственный linq :) в следующем проекте попробуюЕсли как пишут выше в нём нет left join - браться за него рановато. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2011, 05:52 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КНикогда не ценил Lazy Load, если об этом. Тут можно легко обходиться без него. Если вы никогда не ценили DDD - то да, можно. Иначе в памяти оказался бы приличный кусок БД. Алексей КВыкладывайте тут. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2011, 10:16 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУКодогенерация модели по БД - наше всё. Для мёртвых данных годится. Для настоящей доменной модели нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2011, 10:17 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorМСУКодогенерация модели по БД - наше всё. Для мёртвых данных годится. Для настоящей доменной модели нет.Как ни крути, доменная модель крутится вокруг структуры БД. По БД сгененировать DAL (Data Access Layer) доменной модели можно без проблем. А вот сгенерировать по DAL ( особенно, изменять имеющуюся ) БД со всеми её особенностями - уже вряд ли. Писать вручную тоже не вариант. Что-то из этих двух (DAL или БД) нужно генерировать. Выбор напрашивается сам собой - генерировать DAL по БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2011, 11:03 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КВыбор напрашивается сам собой - генерировать DAL по БД.В случае с LINQ - это генерация DataContext-а для используемого LINQ-провайдера. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2011, 11:04 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей К, Алексей ККак ни крути, доменная модель крутится вокруг структуры БД. По БД сгененировать DAL (Data Access Layer) доменной модели можно без проблем. А вот сгенерировать по DAL ( особенно, изменять имеющуюся ) БД со всеми её особенностями - уже вряд ли. Нет же! 1. БД проектируется из расчёта оптимального сохранения объектов DDD. Если только вам не надо прикрутить хибер к старой БД. 2. Безжизнная доменная модель , сгенерированная по БД мне нафиг не спллющилась. 3. NHibernate и есть тот самый DAL. Зачем его генерировать? А вот маппинги для DDD объектов генерируются легко. 4. Сгенерировать БД по маппингам - раз плюнуть. Проблема лежит в другой стороне - управление изменениями БД. Сам хибер эту проблему может решить лишь частично (подозреваю, что EF тоже). Для миграций существуют другие, более удобные инструменты. Но для целей тестирования возможностей хибера более чем достаточно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2011, 11:20 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtor1. БД проектируется из расчёта оптимального сохранения объектов DDD.Или DDD проектируется из расчёта оптимального доступа к данным? SolYUtor2. Безжизнная доменная модель , сгенерированная по БД мне нафиг не спллющилась.Зачастую БД ложится один в один на бизнес-объекты. SolYUtor3. NHibernate и есть тот самый DAL. Зачем его генерировать?Речь идёт о прикладной части DAL. SolYUtorА вот маппинги для DDD объектов генерируются легко.Собственно о том и речь. SolYUtorСгенерировать БД по маппингам - раз плюнуть.Да ладно... И индексы тоже сгенерятся? И check constraint? И тд и тп? SolYUtorПроблема лежит в другой стороне - управление изменениями БД. Сам хибер эту проблему может решить лишь частично (подозреваю, что EF тоже).Кому нужны полурешения? Нет решения этой проблемы, и не будет. SolYUtorДля миграций существуют другие, более удобные инструменты.Способа два, и оба автоматизации не поддаются: 1. Изменять структуру данных "рукописными" DDL-скриптами 2. Давать пустую БД новой версии и конвертировать в неё данные. Конвертатор, естественно, тоже придётся писать вручную. SolYUtorНо для целей тестирования возможностей хибера более чем достаточно.И для тестирования полурешения не нужны. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2011, 11:39 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtor тут. > Пакетное чтение (MulityQuery, Future) При наличии LINQ не требуется > Пакетная запись, настраиваемая в конфиге. Это да. Жаль что этого нет. > Пакетная ленивая загрузка коллекций, сокращающая проблему N +1 При наличии LINQ не требуется > Сверхленивая загрузка коллекций (Order.OrderLines.Count приводит к select count(*) ) При наличии LINQ не требуется > Возможность постраничной выборки и фильтрации коллекций. При наличии LINQ не требуется > Разнообразные способы выборки: HQL, ICriteria, QueryOver, LINQ, SQL(включая хранимые процедуры) Опять же при наличии LINQ ничего больше не надо. Хранимые процедуры в EF вызываются тоже. > и трансформации результатов с использованием IResultTransformer. Полезно. Но и отсутствие не критично. > Кеш второго уровня. Накойхер (с) вообще при наличии LINQ эти кэши? > Большое количество точек расширения, открывающих широкие возможности по модификации поведения В EF тоже достаточно мест, позволяющих нарастить функциональность. > Как следствие из предыдущего пункта, существующие большое большое количество расширяющих фреймворков. Примеры: > NHibernate.Envers - аудит Пишется за 5 минут > NHibernate.Validator - думаю понятно :) Пишется за 5 минут > NHiberante.Search - Полнотекстовый поиск с использованием Lucene.Net Пусть БД ищет. > NHibernate.Shards - горизонтальное масштабирование приложений. Распределённый кэш? Если да - нах не нужен. > Rhino.Security - библиотека для разграничения прав доступа. На пару с WCF пишется за 5 минут > Разнообразные способы маппинга объектов на бд: > xml > аттрибуты > маппинг кодом (2 отдельных фреймворка + встроенная поддержка) > по классам > по соглашениям. Это есть. См EF 4.1 CodeFirst > Более мощный язык объектных запросов (HQL vs Entity SQL), позволяющий выполнять объектные DML-команды без загрузки > объектов в память. Плотно не пользовался ESQL. Да и зачем он нужен при наличии LINQ? А то что LINQ гораздо лучше HQL, во всяком случае у меня, сомнений не вызывает. > Встроенная поддержка для логгирования генерируемых sql-команд. Это да. Но тут у каждой БД должен быть аналог MSSQL Profiler. > Более 10 разнообразных id-генераторов, включая наиболее эффективные для ORM HiLo и guid.comb. Не знаю что это. И не интересно. > Возможность маппинга разнообразных пользовательских типов (шифрованные строки, локализованные свойства, запись Enum как строки, и многое другое) Обходимся имеющимся. > Поддержка readonly свойств. Зачем это? > Поддеркжа коллекций элементов (например IList<int>) Есть. > Поддержка маппинга словарей (Dictionary). Есть. > Сильное сообщество программистов. Есть. ЗЫ: При наличии LINQ отпадает необходимость в куче маленьких запросов, на борьбу с которыми направлены всякие ленивые загрузки и кэши в NH. EF в первую очередь ориентирован на LINQ. В нём это просто не надо. Тут совершенно другой подход к проектированию сервисов с логикой. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2011, 11:57 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей К, Алексей КИли DDD проектируется из расчёта оптимального доступа к данным?Зачастую БД ложится один в один на бизнес-объекты. Таблицы - это данные, просто данные. DDD классы - это объеты, обладающие не только состоянием, но и поведением. Поведение вы по БД как генерировать собираетесь? Алексей КРечь идёт о прикладной части DAL. Единственное, что не нет в хибере для прикладной части - это специализированные запросы. Но их нельзя сгенерить по БД, и придёться написать ручками. Алексей КДа ладно... И индексы тоже сгенерятся? И check constraint? И тд и тп? Да, можно. Хотя CheckConstaint в стиле DDD - это лишняя, двойная работа. Вынос логики в БД, чего я советую всячески избегать. Алексей КСпособа два, и оба автоматизации не поддаются: 1. Изменять структуру данных "рукописными" DDL-скриптами 2. Давать пустую БД новой версии и конвертировать в неё данные. Конвертатор, естественно, тоже придётся писать вручную. Почти угадали. Для откройте для себя migrator.net и fluentmigrator . Да, всё равно скрипты пишутся ручками через fluent api. Зато рутину по их применению в правильном порядке берут на себя. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2011, 11:59 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtor... позволяющий выполнять объектные DML-команды без загрузки объектов в память. Весь LINQ-to-SQL на этом построен. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2011, 12:00 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Я смотрю, LINQ прямо-таки волшебная палочка. Алексей КЗЫ: При наличии LINQ отпадает необходимость в куче маленьких запросов, на борьбу с которыми направлены всякие ленивые загрузки и кэши в NH. EF в первую очередь ориентирован на LINQ. В нём это просто не надо. Тут совершенно другой подход к проектированию сервисов с логикой. Вы правы. Это другой подход. В вашем случае это по сути замаскированные под объекты таблицы, т.к. ничего кроме данных в них нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2011, 12:05 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorАлексей КИли DDD проектируется из расчёта оптимального доступа к данным?Зачастую БД ложится один в один на бизнес-объекты. Таблицы - это данные, просто данные. DDD классы - это объеты, обладающие не только состоянием, но и поведением. Поведение вы по БД как генерировать собираетесь?Само собой, речь идёт о генерации бизнес-объектов. В них как бы логики никакой нет. Логика в сервисах. SolYUtorАлексей КДа ладно... И индексы тоже сгенерятся? И check constraint? И тд и тп? Да, можно.Пример генерации индексов в студию. С указанием кластерности, филфактора и ещё десятка их параметров. И под конкретную СУБД в отдельности. SolYUtorХотя CheckConstaint в стиле DDD - это лишняя, двойная работа. Вынос логики в БД, чего я советую всячески избегать. Бывают случаи. SolYUtorАлексей КСпособа два, и оба автоматизации не поддаются: 1. Изменять структуру данных "рукописными" DDL-скриптами 2. Давать пустую БД новой версии и конвертировать в неё данные. Конвертатор, естественно, тоже придётся писать вручную. Почти угадали. Для откройте для себя migrator.net и fluentmigrator . Да, всё равно скрипты пишутся ручками через fluent api. Зато рутину по их применению в правильном порядке берут на себя.Ну, а я что сказал? :-) А топологической сортировкой скриптов нас не удивиш. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2011, 12:06 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorВы правы. Это другой подход. В вашем случае это по сути замаскированные под объекты таблицы, т.к. ничего кроме данных в них нет .SRP в действии. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2011, 12:07 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей К, продолжим дискуссию? Алексей КSRP в действии. :-) SRP в DDD не страдает. Дело в насилии над самым святым - инкапсуляцией. Если данные - чисто данные, то кто угодно может залезть к классу в трусы, оторвать достоинство, и прилепить свисток.Будет весело, но несколько неприятно. Да и по сути, в таком случае у вас получается процедурное программирование - данные понятно, и процедуры - это сервисы WCF. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 10:27 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
CVlasovМСУКодогенерация модели по БД - наше всё. Какие фреймворки используете? Linq 2 SQL. Есть несколько маленьких проектов на хибере. SolYUtorМСУКодогенерация модели по БД - наше всё. Для мёртвых данных годится. Для настоящей доменной модели нет. Для всего годится. Писать "настоящую" модель под три сотни таблиц, вьюх, функций, хп на хибере - проще застрелиться. Алексей КМСУДля меня хибер пригоден только для мелких пооектов. Ибо отсутствие дизайнера и кодогенерации . T4 чё? Курили? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:07 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorпродолжим дискуссию? Лехко. :-) SolYUtorАлексей КSRP в действии. :-) SRP в DDD не страдает.Страдания SRP зависят от нашего взгляда на предметную область. В данном случае мы выделяем хранение данных как отдельную ответственность. В случае с NH это не является ответственностью. Мне кажется это плохо. Но это моё мнение. Практика показала, что подход, применяемый в NH, тоже имеет право на жизнь. SolYUtorДело в насилии над самым святым - инкапсуляцией.Несовсем. Сервисы могут быть инкапсулированы ( инжектированы DI-контейнером? ) друг в друга. Так же в сервис могут быть инкапсулированы кэшированные данные. Так что инкапсуляция тут применяется, и ещё как. SolYUtorЕсли данные - чисто данные, то кто угодно может залезть к классу в трусы, оторвать достоинство, и прилепить свисток.Будет весело, но несколько неприятно.Это скорее хорошо чем плохо. Данные не зависят от способа их получения и обработки. Одни и те же данные могут обрабатываться разными способами. Это прекрасно. SolYUtorДа и по сути, в таком случае у вас получается процедурное программирование - данные понятно, и процедуры - это сервисы WCF.Да. Можно провести аналогию с хранимыми процедурами в БД. А некоторые способы аналогичны работе с вьюхами (view) в БД. Это просто чудесно. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:08 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУАлексей Кпропущено... T4 чё? Курили?Я с NH не работаю. Но активно использую T4 для генерации WCF-посредников и датаконтекста для EF. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:09 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КЯ с NH не работаю. Но активно использую T4 для генерации WCF-посредников и датаконтекста для EF. Короче, хачу такой дизайнер в хибере, как у L2S/EF. Где? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:11 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУКороче, хачу такой дизайнер в хибере, как у L2S/EF. Где?Дизайнер L2S/EF - г..но. Лучше кодогенерация. ЗЫ: За всю свою историю MS не родила ни разу нормального дизайнера. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:14 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей К, МСУКороче, хачу такой дизайнер в хибере, как у L2S/EF. Где? Не единожды хвалимый LLBLGEN Алексей КДизайнер L2S/EF - г..но. Лучше кодогенерация. ЗЫ: За всю свою историю MS не родила ни разу нормального дизайнера. Поддерживаю. И вообще, хороший дизайнер большая редкость, и не только от мелкософт. Алексей КДа. Можно провести аналогию с хранимыми процедурами в БД. А некоторые способы аналогичны работе с вьюхами (view) в БД. Это просто чудесно. :-) А я вот так не считаю. Хороший ООП стиль более модулен, с бОльшими возможностями повторого использования. МСУДля всего годится. Писать "настоящую" модель под три сотни таблиц, вьюх, функций, хп на хибере - проще застрелиться. Стреляйтесь сразу. Не Откладывая. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:24 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorАлексей КДа. Можно провести аналогию с хранимыми процедурами в БД. А некоторые способы аналогичны работе с вьюхами (view) в БД. Это просто чудесно. :-) А я вот так не считаю. Хороший ООП стиль более модулен, с бОльшими возможностями повторого использования.Это надо ещё доказать. :-) Помимо всего прочего, этот подход хорошо ложится на архитектуру SQL-СУБД. В итоге производительность может оказаться на много порядков выше ( один запрос vs N-запросов ). И с повторным использованием тут всё нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:32 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КПомимо всего прочего, этот подход хорошо ложится на архитектуру SQL-СУБД.Про WCF-сервисы тоже забывать нельзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:37 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КЭто надо ещё доказать. :-) Господин Макконнелл приводил в качестве доказательства исследования, проведённые на эту тему в NASA. Алексей КПомимо всего прочего, этот подход хорошо ложится на архитектуру SQL-СУБД. Вот-вот! Наши подходы корреным образом отличаются. Я бооольшой любитель и сторонник ООП, поэтому для меня дико видеть обнажённые данные. Алексей К В итоге производительность может оказаться на много порядков выше ( один запрос vs N-запросов ). И с повторным использованием тут всё нормально. Зависимость производительности от количества запросов более чем очевидна. Именно поэтому в хибере есть множество вариантов для оптимизации загрузки и вставки данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:40 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КДизайнер L2S/EF - г..но. Лучше кодогенерация. Дизайнер L2S/EF - счастье. Работа дизайнера и есть кодогенерация. Алексей КСтреляйтесь сразу. Не Откладывая. Нафига, если меня устраивает Дизайнер L2S/EF? P.S. LLBLGEN гавно. Фёрст тоже гавно. Всё гавно! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:40 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КПро WCF-сервисы тоже забывать нельзя. А вот тут мы уже приходим к SRP. :) И не только. На своих границах приложение не объектно-ориентированные, хотя физически мы оперируем объектами. Поэтому пытаться толкать DDD-cущности через границы WCF-сервисов - самоубийство. Для этого должны быть отдельные DTO-объекты. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:43 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУP.S. LLBLGEN гавно. Фёрст тоже гавно. Всё гавно! Да. Вот дяденька кратко излагает проблемы на примере LLBLGEN, которые присущи подавляющему большинству дизайнеров. Поэтому я их и не использую. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:45 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorМСУP.S. LLBLGEN гавно. Фёрст тоже гавно. Всё гавно! Да. Вот дяденька кратко излагает проблемы на примере LLBLGEN, которые присущи подавляющему большинству дизайнеров. Поэтому я их и не использую. Почему я должен еще за это платить? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:51 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУПочему я должен еще за это платить? А студия досталась вам бесплатно? В общем не хотите - не платите. Ваш выбор. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:53 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorАлексей КЭто надо ещё доказать. :-) Господин Макконнелл приводил в качестве доказательства исследования, проведённые на эту тему в NASA.Надо цитаты, примеры, ссылки. А так я тоже могу напридумывать. :-) Да и наверняка Господин Макконнелл ещё не научился пользоваться LINQtoSQL-провайдерами. Это дело новое, не освоенное... :-) SolYUtorАлексей КПомимо всего прочего, этот подход хорошо ложится на архитектуру SQL-СУБД. Вот-вот! Наши подходы корреным образом отличаются. Я бооольшой любитель и сторонник ООП, поэтому для меня дико видеть обнажённые данные.Это понятно. Дело привычки. SolYUtorАлексей К В итоге производительность может оказаться на много порядков выше ( один запрос vs N-запросов ). И с повторным использованием тут всё нормально. Зависимость производительности от количества запросов более чем очевидна. Именно поэтому в хибере есть множество вариантов для оптимизации загрузки и вставки данных.Всё равно что "создать проблему, потом её героически решать". В EF ничего этого не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:53 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorА студия досталась вам бесплатно? В общем не хотите - не платите. Ваш выбор. А про редакцию экспресс Вы что-нибудь слышали? (я не о себе) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:54 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
А вообще я не испытаваю проблем с родными MS дизайнерами. Бросил, сгенерилось и заюзал. В этом сила. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:55 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorАлексей КПро WCF-сервисы тоже забывать нельзя. А вот тут мы уже приходим к SRP. :) И не только. На своих границах приложение не объектно-ориентированные, хотя физически мы оперируем объектами. Поэтому пытаться толкать DDD-cущности через границы WCF-сервисов - самоубийство. Для этого должны быть отдельные DTO-объекты.О чём и речь. В "моём" случае все бизнес-объекты хранят только данные и легко могут использоваться в качестве DTO. Экономия на тупом набивании кода может быть очень существенной. Надо смотреть на конкретные факты а не филосовствовать на тему "объектноориентированности". ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 11:57 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУА вообще я не испытаваю проблем с родными MS дизайнерами. Бросил, сгенерилось и заюзал. В этом сила.Сами же писали, что проект маленький. А попробуйте запихать в дизайнер 50+ таблиц... А разбивать на несколько датаконтекстов нельзя - в одном запросе не могут присутствовать сущности из разных контекстов. Да и обновление маппинга при изменении структуры БД происходит раком. Нуегонах... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 12:00 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУАлексей КСтреляйтесь сразу. Не Откладывая. Нафига, если меня устраивает Дизайнер L2S/EF? P.S. LLBLGEN гавно. Фёрст тоже гавно. Всё гавно!Это не я предлагал стреляться. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 12:01 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КВсё равно что "создать проблему, потом её героически решать". В EF ничего этого не надо. Надо Сеня, надо! Простой пример есть у нас заказ, заголовок и строки. И мы хотим его поредактировать. Так вот хоть чистый ADO.NET, хоть EF, хоть NH - один фиг надо загрузить данные из двух таблиц. Вопрос в том, с помощью какого API мы это сделаем. В хибере для этого надо 1-3 строки в зависимости от используемого API. Это героические усилия? Алексей КВ "моём" случае все бизнес-объекты хранят только данные и легко могут использоваться в качестве DTO. Экономия на тупом набивании кода может быть очень существенной. О! Вот как раз сейчас отказываемся от такой схемы. Ибо надо менять внутреннюю структуру, а на эти бизнес-DTO завязаны куча клиентов, интерфейс доступа для которых в общем-то не меняется, и меняться не должен. Так что экономия на нескольких строчках кода выливается в дикий мазохизм над DTO. Эдакая прямая связность БД-Сервис-Клиент. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 12:13 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Это, кстати, проверенный факт - хорошо спроектированные системы содержат бОльше кода (на 25%-50%), чем плохо спроектированные. Но более простого и понятного кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 12:17 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КМСУА вообще я не испытаваю проблем с родными MS дизайнерами. Бросил, сгенерилось и заюзал. В этом сила.Сами же писали, что проект маленький. А попробуйте запихать в дизайнер 50+ таблиц... А разбивать на несколько датаконтекстов нельзя - в одном запросе не могут присутствовать сущности из разных контекстов. Да и обновление маппинга при изменении структуры БД происходит раком. Нуегонах... Стоп стоп стоп. Про маленький проект - это хибер, причем тут линк? Во-вторых, у меня в контексте прекрасно живут порядка 200 таблиц и вьюх, плюс еще функции и хп. В-третьих, если нужно закурить сущность из другой БД, берем руки, а в руки хп или функцию и делов? А так, для каждой БД - свой контекст. Всё отлично. По поводу изменения структуры, согласен. Но ничего не поделаешь, бай дизайн. Удалил и закинул заново, 5 секунд. Привык уже Алексей КЭто не я предлагал стреляться. :-) Это я после понял, как отпостался Про фёрст даже написал (наш старый спич). И, вообще, даже прикуел, чтобы сам Лёня, да и еще стреляться?! Подумал, что не в духе паря, так это я от злости и про фёрст отпостал, чтоб позлить. А тут вон оно как оказывается... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 12:22 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorЭто, кстати, проверенный факт - хорошо спроектированные системы содержат бОльше кода (на 25%-50%), чем плохо спроектированные. Но более простого и понятного кода. Хорошо, плохо. Навевает скучной демагогией о правильной жизни. А каждому похер, живет так, как считает нужным. Но тем не менее, каждому не впадлу всем рассказать, о том как нужно жить. И все его слушают, кивают... Ну и так далее. О чем это я. А о том, что не критерия "хорошеватости" системы. Каждая система хороша. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 12:24 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
... а гавнофёрст-таки гавно ) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 12:26 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorАлексей КВсё равно что "создать проблему, потом её героически решать". В EF ничего этого не надо. Надо Сеня, надо! Простой пример есть у нас заказ, заголовок и строки. И мы хотим его поредактировать. Так вот хоть чистый ADO.NET, хоть EF, хоть NH - один фиг надо загрузить данные из двух таблиц. Вопрос в том, с помощью какого API мы это сделаем. В хибере для этого надо 1-3 строки в зависимости от используемого API. Это героические усилия?Я тут про всякие ленивые загрузки и кэширования, используемые внутри NH. В EF это тоже в каком-то виде есть, но масштабы не те. :-) SolYUtorАлексей КВ "моём" случае все бизнес-объекты хранят только данные и легко могут использоваться в качестве DTO. Экономия на тупом набивании кода может быть очень существенной. О! Вот как раз сейчас отказываемся от такой схемы. Ибо надо менять внутреннюю структуру, а на эти бизнес-DTO завязаны куча клиентов, интерфейс доступа для которых в общем-то не меняется, и меняться не должен. Так что экономия на нескольких строчках кода выливается в дикий мазохизм над DTO. Эдакая прямая связность БД-Сервис-Клиент.Тут всё зависит от конкретной ситуации. Если надо делать DTO - значит надо его делать. В EF есть выбор - делать или не делать. В NH выбора нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 12:56 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУАлексей Кпропущено... Сами же писали, что проект маленький. А попробуйте запихать в дизайнер 50+ таблиц... А разбивать на несколько датаконтекстов нельзя - в одном запросе не могут присутствовать сущности из разных контекстов. Да и обновление маппинга при изменении структуры БД происходит раком. Нуегонах... Стоп стоп стоп. Про маленький проект - это хибер, причем тут линк? Во-вторых, у меня в контексте прекрасно живут порядка 200 таблиц и вьюх, плюс еще функции и хп.В ужасе пытаюсь представить диаграмму из 200+ таблиц... МСУВ-третьих, если нужно закурить сущность из другой БД, берем руки, а в руки хп или функцию и делов? А так, для каждой БД - свой контекст.Да. МСУВсё отлично.Сомневаюсь. МСУПо поводу изменения структуры, согласен. Но ничего не поделаешь, бай дизайн. Удалил и закинул заново, 5 секунд. Привык уже На любителя. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 12:58 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУ... а гавнофёрст-таки гавно ) НЕТ! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 13:00 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КМСУ... а гавнофёрст-таки гавно ) НЕТ! ДА! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 13:10 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Да ладно... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 13:56 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Не, ну на кой хер (с) мне Ваша фёрстопедальность, если оно само может сгенериться? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 14:07 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Что вообще говорить про LINQ2SQL? Он давно умер. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 15:32 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Код должен быть сгенерирован динамически. Випрос генерирует и кеширет динамический код на основе метаданных и потому пофиг все изменения. Есть конечно некоторые моменты(допустим какой то метод пользуется какими-то именованными свойстваи объекта, а кто то пытается удалить метаданные для этих свойств, то если у него есть такие права, то методы отмечаются как невыполнимые,или запрещаются такие изменения). ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 16:33 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
ViPRosКод должен может быть сгенерирован динамически.Поправил. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 16:38 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей К, в мертвых прогах - да. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 16:40 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
ViPRosКод должен быть сгенерирован динамически. Випрос генерирует и кеширет динамический код Переходим все на Випрос ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 16:53 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУ, не получится, даже демки сцуки не дают выставить но идеи я тут почти все рассказал ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 16:58 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
хотя все идеи - идеи т.Вирта (структуры + алгоритмы = проги) випрос добавил (структуры + контракты + алгоритмы = проги) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 17:00 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУПереходим все на Випрос Только внедряя инновации на раннем этапе проектирования можно добиться успешных стартапов в области IT-индустрии... О чём это я... (осторожно огляделся по сторонам, вышел из комнаты) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 17:03 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
ViPRosне получится, даже демки сцуки не дают выставитьЭто хорошо или плохо? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 17:05 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей К, плохо, конечно ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 17:12 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Я воще то планировал Випрос (платформу) выложить в открытый доступ. А прикладные решения продавать. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 17:18 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 17:35 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей К, я над сайтом не командир, хотя там справа есть типа - Новости - хоть и устаревшие :( Отдельные куски внедрены в 50-60 редприятиях а общая ВИП,Процессы, например, суть на этой картинке Внедрение, сайт, политк и т.д. не в моей компетенции, мне просто создали условия делать то, что я считаю нужным ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2011, 19:06 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КТут всё зависит от конкретной ситуации. Если надо делать DTO - значит надо его делать. В EF есть выбор - делать или не делать. В NH выбора нет... Очень даже есть. Приходилось видеть реализованный с доступом через хибер примерно ваш вариант, аля типизированные DataTable, включая таблицы связей m:m. Только вот лажа это по сути. И самое главное, чем занимались при разработке EF4 - пытались его дотянуть до NHibernate в вопросе поддержки богатых доменных моделей. И им это более менее удалось. Но не все пользуются. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2011, 09:23 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУ А о том, что не критерия "хорошеватости" системы. Ваши сведения устарели лет на тридцать. Критерии давно есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2011, 09:25 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorАлексей КТут всё зависит от конкретной ситуации. Если надо делать DTO - значит надо его делать. В EF есть выбор - делать или не делать. В NH выбора нет... Очень даже есть. Приходилось видеть реализованный с доступом через хибер примерно ваш вариант, аля типизированные DataTable, включая таблицы связей m:m. Только вот лажа это по сути. И самое главное, чем занимались при разработке EF4 - пытались его дотянуть до NHibernate в вопросе поддержки богатых доменных моделей. И им это более менее удалось. Но не все пользуются. :)С Ваших слов мне показалось что нет. С NH плотно не работал. Сори если что напутал. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2011, 10:19 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorМСУ А о том, что не критерия "хорошеватости" системы. Ваши сведения устарели лет на тридцать. Критерии давно есть.Как-то ко мне ходили консультироваться люди, работающие над универсальной формулой расчёта стоимости разработки ПО в зависимости от используемых средств разработки, количества разработчиков и т. п. Разумеется, затея кончилась ничем. В этой статье описаны похожие труды... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2011, 13:00 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorМСУ А о том, что не критерия "хорошеватости" системы. Ваши сведения устарели лет на тридцать. Критерии давно есть. Мда. Самому-то не смешно? Особенно порадовало про "оптимальные задачи" и "объективные, воспроизводимые и поддающиеся (непонятно чему) количественному измерению задачи". Представил себе ситуацию, когда я объясняю бизнесу: "Извините, Ваша задача не оптимальна. Свободны." ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2011, 14:43 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУАлексей Кпропущено... НЕТ! ДА! Вы это про EF 4.1 Code first? Если да можете вкратце рассказать чем не устраивает? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2011, 22:56 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
А че тут говорить, имеем базу в сотню таблиц, вьюх и сторед объектов. Нужно всё это добро обтянуть ОРМ-ом. Поехали? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 00:30 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУА че тут говорить, имеем базу в сотню таблиц, вьюх и сторед объектов. Нужно всё это добро обтянуть ОРМ-ом. Поехали? И что мешает? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 05:52 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КИ что мешает? Коде фирст. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 08:37 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУАлексей КИ что мешает? Коде фирст.T4 Text Template не помогает? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 10:59 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtor2. Безжизнная доменная модель Статья очень понравилась. Для тех кто еще не прочел, суть статьи: Чем больше функций напишешь в сервисах - тем более процедурный твой стиль программирования, и тем больше ты себя обкрадываешь теряя преимущества Доменной модели. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 12:23 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
WorobjoffДля тех кто еще не прочел, суть статьи: Чем больше функций напишешь в сервисах - тем более процедурный твой стиль программирования, и тем больше ты себя обкрадываешь теряя преимущества Доменной модели.Для тех кто до сих пор не понял сути бытия - делаем выбор между: 1. "Процедурное" программированием 2. ООП + необходимость создания DTO. Выбираю первое. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 13:04 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
У Фаулера уже старческий маразм.. МаразмOne source of confusion in all this is that many OO experts do recommend putting a layer of procedural services on top of a domain model, to form a Service Layer. But this isn't an argument to make the domain model void of behavior, indeed service layer advocates use a service layer in conjunction with a behaviorally rich domain model. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 13:07 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Статья 2003-го года... Толку от неё - НОЛЬ! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 13:11 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУАлексей КИ что мешает? Коде фирст. Ну я его только начинаю изучать. А вообще, Code First разный же бывает. Не мне же Вам рассказывать ;) Так вот я выбрал тот который не генерит БД и хранит там хэш модели, а тот который сначала создали БД, а потом маппим объекты, через fluent. И я считаю что если правильно маппить объекты, то все будет хорошо. В данный момент как раз этим занимаюсь. Но чувствую, что старый добрый L2S будет моим выбором....А может и нет(если найду ответы на свои вопросы) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 13:17 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КСтатья 2003-го года... Толку от неё - НОЛЬ! ОПП уже лет 40-50... Видимо неистовая феерия старческого маразма до сих пор заставляет программистов писать на оо языках. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 13:21 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorОПП уже лет 40-50... Видимо неистовая феерия старческого маразма до сих пор заставляет программистов писать на оо языках."Процедурное" специяльно взято в кавычки. Вообще-то сервисы могут наследоваться, инкапсулироваться, "полиморфироваться" и иметь инкапсулированные данные (кэш). Впрочем, если Вам платят за объём набиваемого кода - дело Ваше. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 13:26 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей К2. ООП + необходимость создания DTO. Нет такой необходимости ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 13:37 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
WorobjoffАлексей К2. ООП + необходимость создания DTO. Нет такой необходимости"На нет и суда нет" (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 13:44 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей К, "Плачь Ярославы" у автора статьи - из-за того что большинству современных программистов принцип инкапсуляции не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 13:50 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Worobjoff"Плачь Ярославы" у автора статьи - из-за того что большинству современных программистов принцип инкапсуляции не нужен.Вместо поиска бесполезных цитат лучше почитайте что-нибудь про сервис-ориентированную архитектуру (SOA). Хуже не будет... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 13:52 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Worobjoff После прочтения отпишите сюда как без описания DTO будете передавать между звеньями такой бизнес-объект: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 13:56 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КWorobjoff"Плачь Ярославы" у автора статьи - из-за того что большинству современных программистов принцип инкапсуляции не нужен.Вместо поиска бесполезных цитат лучше почитайте что-нибудь про сервис-ориентированную архитектуру (SOA). Хуже не будет...И для каких целей применяете сервисы? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 13:59 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КWorobjoff После прочтения отпишите сюда как без описания DTO будете передавать между звеньями такой бизнес-объект: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
А как вы без DTA будете передавать данные для сервиса на другой платформе? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 14:01 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Worobjoff Вот смотрите: Я - Смешение логики и данных в одном классе требует описания DTO. Вы - Нет такой необходимости. Я - Вот конкретный пример с сервисами. Вы - И для каких целей применяете сервисы? А как вы без DTA DTO будете передавать данные для сервиса на другой платформе? Чуете отсутствие логики в Вашем последнем ответе? "И так, Вы хотите поговорить об этом?" (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 14:49 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей К, Автор статьи пишет про другие сервисы. Про сервисы реализующие бизнес-логику, но не про сетевой обмен данными. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 15:28 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей К1. "Процедурное" программированием Ваше программирование не "процедурное", а проце дурное . Ибо мысль Алексей КВообще-то сервисы могут наследоваться, инкапсулироваться, "полиморфироваться" и иметь инкапсулированные данные (кэш). сводится к разным формам структурирования вызовов процедур. Алексей К2. ООП + необходимость создания DTO. DTO всегда необходимость Независимо от того, как они выглядят. Невозможно передавать поведение по сети. (т.е. можно конечно, но будет крайне неэффективно). Алексей КВместо поиска бесполезных цитат лучше почитайте что-нибудь про сервис-ориентированную архитектуру (SOA). Алексей, SOA абсолютно ортогональна OOП. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 15:28 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorАлексей КВообще-то сервисы могут наследоваться, инкапсулироваться, "полиморфироваться" и иметь инкапсулированные данные (кэш). сводится к разным формам структурирования вызовов процедур.И тем не менее, используются все методики, на которых базируется ООП. SolYUtorАлексей К2. ООП + необходимость создания DTO. DTO всегда необходимость Независимо от того, как они выглядят.Опять какая-то нудная статья... Благодаря выносу логики в сервисы я могу создавать бизнес-объекты, которые могут сериализоваться. Значит я могу передавать их между звеньями. В этом случае плодить лишние классы нет нужды. SolYUtorНевозможно передавать поведение по сети. (т.е. можно конечно, но будет крайне неэффективно).Само собой. Именно поэтому, повторюсь, хранение данных отделено от логики. SolYUtorАлексей КВместо поиска бесполезных цитат лучше почитайте что-нибудь про сервис-ориентированную архитектуру (SOA). Алексей, SOA абсолютно ортогональна OOП.Я бы сказал: SOA описывается вполне определённой объектной моделью. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 16:23 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
WorobjoffАлексей К, Автор статьи пишет про другие сервисы. Про сервисы реализующие бизнес-логику, но не про сетевой обмен данными.Это да. Но нам-то интересно построение законченной системы, с межпроцессным взаимодействием как минимум. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 16:26 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КСамо собой. Именно поэтому, повторюсь, хранение данных отделено от логики. Это и называется процедурное программирование. Алексей КЯ бы сказал: SOA описывается вполне определённой объектной моделью. Это вы где-то такое вычитали? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 17:58 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorАлексей КСамо собой. Именно поэтому, повторюсь, хранение данных отделено от логики. Это и называется процедурное программирование.Как так?! Применяются все парадигмы ООП, но всё равно процедурное. Чудеса. :-) SolYUtorАлексей КЯ бы сказал: SOA описывается вполне определённой объектной моделью.Это вы где-то такое вычитали?Нигде. Это чисто моё мнение. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 18:51 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КМСУпропущено... Коде фирст.T4 Text Template не помогает? Кому нужны эти педали, если есть штатная кодогенерация? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 21:24 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУАлексей Кпропущено... T4 Text Template не помогает? Кому нужны эти педали, если есть штатная кодогенерация?НЕТ! Дизайнером можно будет худо-бедно пользоваться только со следующей версии EF, в которой добавят разделение диаграммы на несколько файлов. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2011, 06:03 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КДизайнером можно будет худо-бедно пользоваться только со следующей версии EF, в которой добавят разделение диаграммы на несколько файлов. Не вижу сложностей в одном файле, сложность явно надуманная. Невозможно работать, скручивают руки? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2011, 08:53 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КНигде. Это чисто моё мнение. Это ваше неправильное предположение. Объектной моделью может описывать конкретная реализация сервиса. Но для внешних пользователей сервис предоставляет контракт, и не более. А нутро хоть на чистом С пиши. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2011, 09:28 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУНе вижу сложностей в одном файлеЯ вижу. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2011, 10:49 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
SolYUtorОбъектной моделью может описывать конкретная реализация сервиса.О ней и речь. Объектная модель сервисов в WCF, ASP.Net, Java и т. д. вроде как концептуально одинаковая. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2011, 10:54 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КМСУНе вижу сложностей в одном файлеЯ вижу. :-) В чем выражена данная сложность? ) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2011, 22:43 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУАлексей Кпропущено... Я вижу. :-) В чем выражена данная сложность? )Диаграмма из 500+ квадратиков и 500++ стрелочек. Жесть. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2011, 07:14 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КДиаграмма из 500+ квадратиков и 500++ стрелочек. Жесть. :-) Вы открываете диаграмму и часами смотрите на неё? Или в чём жесть, милок? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2011, 09:32 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
МСУАлексей КДиаграмма из 500+ квадратиков и 500++ стрелочек. Жесть. :-) Вы открываете диаграмму и часами смотрите на неё? Или в чём жесть, милок?Часами открываю диаграмму и смотрю... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2011, 12:41 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КЧасами открываю диаграмму и смотрю... Тогда согласен. Однодиаграмменность - гавно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2011, 12:56 |
|
Кто нибудь использует NHibernate 3.x и запросы на LINQ?
|
|||
---|---|---|---|
#18+
Алексей КЧасами открываю диаграмму и смотрю...Смотрю как часами открывается диаграмма. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2011, 13:10 |
|
|
start [/forum/topic.php?all=1&fid=17&tid=1350499]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
145ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 232ms |
0 / 0 |