powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF, Repository, UnitOfWork
25 сообщений из 164, страница 3 из 7
EF, Repository, UnitOfWork
    #38108343
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а на клиенте просто запрашиваешь сервис безотностительно к объектной модели?
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108347
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosне врубаюсь
Пиши на датасетах и не ипи мне моск :)
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108359
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

не разговор не о датасетах и еще че то
ОРМ означет для меня что
1. Есть Объектная модель ОМ (т.е. вся работа по проблемной области сконцентрирована тут)
2. Есть Хранилище Х( в данном случае РСУБД)
3. Есть Прозрачный маппинг элементов ОМ в элементы Х

никаких других конструкцтий тут не должно быть
а с твоих слов выходит что в ЕФ ОМ сам по себе а работа идет с вспомогательными конструкциями какими то
концепция нарушена
ладно бы метод объекта автоматом маппировалась в ИДатаСервис (прозрачно), нет как я понял эти сервисы надо вручную создавать, а методы их вызывающие воще не относятся к ОМ
прально?
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108371
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУПарамонпропущено...

Покурю на досуге, пока не ясно )
Не кури, опять бредни Севы. OData в обсуждаемой теме никак не относится :)

SeVaOData содержит метаинформацию, а это в купе с динамическими объектами позволяет сделать одну универсальную реализацию и не плодить сущности на каждый чих.
Сдурел, что-ли? Ты бы еще рефлексию предложил в прикладном коде.

Муся, ты чмошник, который должен только молча копать и отрабатывать свою пайку, а не рассуждать о том, что правильно.
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108375
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosМСУ,

не разговор не о датасетах и еще че то
ОРМ означет для меня что
1. Есть Объектная модель ОМ (т.е. вся работа по проблемной области сконцентрирована тут)
2. Есть Хранилище Х( в данном случае РСУБД)
3. Есть Прозрачный маппинг элементов ОМ в элементы Х

никаких других конструкцтий тут не должно быть
а с твоих слов выходит что в ЕФ ОМ сам по себе а работа идет с вспомогательными конструкциями какими то
концепция нарушена
ладно бы метод объекта автоматом маппировалась в ИДатаСервис (прозрачно), нет как я понял эти сервисы надо вручную создавать, а методы их вызывающие воще не относятся к ОМ
прально?


ViPRos, не ломай голову и не пытайся в этих детских гули-гули найти какой-то смысл. Детка делает первые шаги в ООП, но с полными подгузниками особо не разбежишься
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108384
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaМСУпропущено...

Не кури, опять бредни Севы. OData в обсуждаемой теме никак не относится :)

пропущено...

Сдурел, что-ли? Ты бы еще рефлексию предложил в прикладном коде.

Муся, ты чмошник, который должен только молча копать и отрабатывать свою пайку, а не рассуждать о том, что правильно.

Сева, ты опущенец, которого все кому не лень опускают на форуме. Так было, так есть, так будет. Свыкнись со своей кармой, неуч.
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108385
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaМСУпропущено...

Не кури, опять бредни Севы. OData в обсуждаемой теме никак не относится :)

пропущено...

Сдурел, что-ли? Ты бы еще рефлексию предложил в прикладном коде.

Муся, ты чмошник, который должен только молча копать и отрабатывать свою пайку, а не рассуждать о том, что правильно.


Попробуй с помощью с своего говнодата сервиса и прочего бреда изобразить то, что достаточно легко делается с OData.
Один контрол и несколько незамысловатых классов и больше нет проблемы с кучей DTO. OData Viewer Tool

Только тужься у себя в туалете, а не как обычно, на форуме
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108387
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSeVaпропущено...


Муся, ты чмошник, который должен только молча копать и отрабатывать свою пайку, а не рассуждать о том, что правильно.

Сева, ты опущенец, которого все кому не лень опускают на форуме. Так было, так есть, так будет. Свыкнись со своей кармой, неуч.

Научись сначала угу-угу внятно бормотать, а когда подрастешь, может, и будут твое вяканье слушать.
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108391
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaМСУпропущено...


Сева, ты опущенец, которого все кому не лень опускают на форуме. Так было, так есть, так будет. Свыкнись со своей кармой, неуч.

Научись сначала угу-угу внятно бормотать, а когда подрастешь, может, и будут твое вяканье слушать.

Кухарка предлагает использовать динамику в прикладном коде? Давно ли кухарка наведывалась к доктору?
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108416
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa,

ну сама модель ОДата такая ж фигня как и ЕФ и т.д.
кроме Сущноси и Связи нет ничего
при это Сущность понимается как таблица в БД
нет понятия Схемы (именованный набор Связанных сущностей)

вот говрим Накладная и подазумрваем как минимум 2 Сущности - Шапка и Строки и связь между ними(в Випросе это макротип)
но в отдельности эти сущности нафиг никому не нужны кроме Мсушнего Идатасервис
Связь между Ш и С сильная
но тут же есть и слабыее связи - материал, ЕДИМ и т.д.
при задании схемы (макротипа) надо в мета указать сильные и слабые связи, направление зависимости и т.д.
а так из БД гоняете в БД
фигня все это
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108421
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lord BritishДавайте все же вернемся к EF, UOW, REPO и потроллим друг-друга на тему надо/не надо.
К сожалению, в тему заглянули только штатные тролли, поэтому развести дискуссию по существу будет напряжённо. :)

Могу лишь изложить поподробнее своё мнение. Сам прошёл путь Stored Procedure -> NHibernate -> Repository over Nhibernate -> NHibernate -> NoSQL (в процессе).

В общем, в процессе работы по принципу Repository over Nhibernate пришёл к пониманию, что мне просто не хватает возможностей, которые есть в NH, и я потихоньку привожу Repository к ISesson. В итоге просто выкинул ненужным мне слой. И чуть позже наткнулся на хорошие блоги по этой теме: раз , два , и (особенно для любителей SOLID'а) три . Сам я тоже любитель SOLID. Но кроме него, надо держать в голове и свой разум. Ибо видел совершенно "солидный", но абсолютно неподдерживаемый код.

И вдогонку. Вся эта суета вокруг слоёв вообще, и репозитория в частности задумывалась ради одной цели - сделать код более поддерживаемым за счёт повышения его понятности. И еще повторного использования кода. На самом деле, обычно гораздо проще для поддерживаемсяости использовать не горизонтальное деление - слои, а вертикальное - разделы. При этом используя как можно меньше псевдоабстракций. С повторным использованием, всё еще проще - 90% кода повторно не используется. На практике это выглядит так: прямо в коде MVC-контроллера берём сессию, строим запрос, бросаме результат во ViewModel. Просто, понятно, быстро, тестируемо. Profit.
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108434
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtorНа практике это выглядит так: прямо в коде MVC-контроллера берём сессию, строим запрос, бросаме результат во ViewModel. Просто, понятно, быстро, тестируемо. Profit.
То есть весь BL в контроллере?
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108444
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtorВ общем, в процессе работы по принципу Repository over Nhibernate пришёл к пониманию, что мне просто не хватает возможностей, которые есть в NH, и я потихоньку привожу Repository к ISesson.
Не путай божий дар с яичницей. В NH ты в любом случае будешь строить свой репо, т.к. его нет. А EF уже и сразу автогенерит тебе его, бери и используй. Но находятся идиоты типа севы, которые этои репо еще разок обвязывают в свой репо.

SolYUtorпрямо в коде MVC-контроллера берём сессию, строим запрос, бросаме результат во ViewModel. Просто, понятно, быстро, тестируемо. Profit.
Жесть, причем убийственная...
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108448
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонЭто из плюсов, а минусов тоже не мало.
Pros and Cons of Data Transfer Objects
Как на пример туева хуча дата шейпов, чуть ли не на каждый запрос.
Да, ничего не поделаешь. Но не вижу особого ужаса в этом, просто грамотно по неймспейсам (каталогам) классифицируем "шейпы" в проекте и поддерживаем это добро. Зато какой порядок и чистота будет в BL, как легко будет поддерживать и развивать такую архитектуру. Мне кажется, с самого начала не стоит жмотиться DTO, и начинать сразу писать правильно.
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108464
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУпрямо в коде MVC-контроллера берём сессию, строим запрос, бросаме результат во ViewModel. Просто, понятно, быстро, тестируемо. Profit.
Жесть, причем убийственная...
А что тут убийственного?
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108466
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиА что тут убийственного?
Чтение БД с логикой в контроллере... Действительно, а что тут убийственного?
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108469
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУДа, ничего не поделаешь. Но не вижу особого ужаса в этом, просто грамотно по неймспейсам (каталогам) классифицируем "шейпы" в проекте и поддерживаем это добро. Зато какой порядок и чистота будет в BL, как легко будет поддерживать и развивать такую архитектуру. Мне кажется, с самого начала не стоит жмотиться DTO, и начинать сразу писать правильно.

Ну это ладно, а скажем если я хочу добавить такую логику в модель:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 public class Product
    {
        public int ProductId { get; set; }
        public string Title { get; set; }
        public decimal Price { get; set; }
        public int Qty {get;set;}
        public int SaleType { get; set; }
        public decimal X {get;set;}
        public string ...
        public string ...
        public string ...
        public decimal Total
        {
            get { return Total * Qty; }
        }
        public decimal Discount
        {
            get { return SaleType == 0 ? Price + X : Price - X; }
        }
    }



И передать куда то такой дто:

Код: c#
1.
2.
3.
4.
5.
6.
  public class ProductDTO
    {
        public string Title { get; set; }
        public decimal Total { get; set; }
        public decimal Discount { get; set; }
    }



Как бы такое провернуть?
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108482
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУГде-то в степиА что тут убийственного?
Чтение БД с логикой в контроллере... Действительно, а что тут убийственного?
какая логика, вытащить модель из базы и размазать по контроллеру - все в returne что бы не пачкать тело метода?
50 проц основные нужды..
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108483
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУГде-то в степиА что тут убийственного?
Чтение БД с логикой в контроллере... Действительно, а что тут убийственного?
какая логика, вытащить модель из базы и размазать по контроллеру вьюхе - все в returne что бы не пачкать тело метода?
50 проц основные нужды..
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108488
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонТо есть весь BL в контроллере?
МСУВ NH ты в любом случае будешь строить свой репо
МСУЖесть, причем убийственная...
Код: c#
1.
2.
3.
4.
5.
6.
session
.QueryOver<Order>
.Where(order => order.Client == client)
.Skip(0)
.Take(50)
.List()



Такой запрос использован один раз, прямо в контроллере. DAL, Repository и тд. уже есть в виде сессии, дополнительные обёртки не нужны. Логика в классе Order, а не в контроллере.
Усложнять код, вводя новые слои, классы и т.д. не нужно. В реале есть пара Extension методов для постраничной выборки.
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108501
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosSeVa,

ну сама модель ОДата такая ж фигня как и ЕФ и т.д.
кроме Сущноси и Связи нет ничего
при это Сущность понимается как таблица в БД
нет понятия Схемы (именованный набор Связанных сущностей)

вот говрим Накладная и подазумрваем как минимум 2 Сущности - Шапка и Строки и связь между ними(в Випросе это макротип)
но в отдельности эти сущности нафиг никому не нужны кроме Мсушнего Идатасервис
Связь между Ш и С сильная
но тут же есть и слабыее связи - материал, ЕДИМ и т.д.
при задании схемы (макротипа) надо в мета указать сильные и слабые связи, направление зависимости и т.д.
а так из БД гоняете в БД
фигня все это

ViPRos, а не нужны никому эти жесткие связи и полное описание БД, тк смысл всех этих мультитков - уйти от зависимости структуры БД.Тк ООП и БД - две большие разницы. Помимо этого, нужны разные срезы данных(об этом говорилось в статье)
Вместо с танцев с бубнами для описания можно спокойно содать view за пять минут, запустить кодогенратор, а дальше если есть нормальный фреймворк, то больше делать ничего не нужно, все и так подхватится.
всесто БД - черный ящик, который предоставляет нужные интерфейсы. Помимо нее могут разные постащики данных(внешние сервисы, файлы, очереди сообщений, голубиная почта и тд).
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108504
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtorLord BritishДавайте все же вернемся к EF, UOW, REPO и потроллим друг-друга на тему надо/не надо.
К сожалению, в тему заглянули только штатные тролли, поэтому развести дискуссию по существу будет напряжённо. :)

Могу лишь изложить поподробнее своё мнение. Сам прошёл путь Stored Procedure -> NHibernate -> Repository over Nhibernate -> NHibernate -> NoSQL (в процессе).

В общем, в процессе работы по принципу Repository over Nhibernate пришёл к пониманию, что мне просто не хватает возможностей, которые есть в NH, и я потихоньку привожу Repository к ISesson. В итоге просто выкинул ненужным мне слой. И чуть позже наткнулся на хорошие блоги по этой теме: раз , два , и (особенно для любителей SOLID'а) три . Сам я тоже любитель SOLID. Но кроме него, надо держать в голове и свой разум. Ибо видел совершенно "солидный", но абсолютно неподдерживаемый код.

И вдогонку. Вся эта суета вокруг слоёв вообще, и репозитория в частности задумывалась ради одной цели - сделать код более поддерживаемым за счёт повышения его понятности. И еще повторного использования кода. На самом деле, обычно гораздо проще для поддерживаемсяости использовать не горизонтальное деление - слои, а вертикальное - разделы. При этом используя как можно меньше псевдоабстракций. С повторным использованием, всё еще проще - 90% кода повторно не используется. На практике это выглядит так: прямо в коде MVC-контроллера берём сессию, строим запрос, бросаме результат во ViewModel. Просто, понятно, быстро, тестируемо. Profit.

Пока ты это проходил и искал, я это давно прошел и давно говорил тебе, что не нужно писать кипятком от твоего хибернейта.
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108506
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtorПарамонТо есть весь BL в контроллере?
МСУВ NH ты в любом случае будешь строить свой репо
МСУЖесть, причем убийственная...
Код: c#
1.
2.
3.
4.
5.
6.
session
.QueryOver<Order>
.Where(order => order.Client == client)
.Skip(0)
.Take(50)
.List()



Такой запрос использован один раз, прямо в контроллере. DAL, Repository и тд. уже есть в виде сессии, дополнительные обёртки не нужны. Логика в классе Order, а не в контроллере.
Усложнять код, вводя новые слои, классы и т.д. не нужно. В реале есть пара Extension методов для постраничной выборки.

Если подобная логика в классе Order, то ты забрел не в ту степь. И здесь не соблюдается постоянно тобой цитируемый SOLID
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108516
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nhibernate LazyLoading в многослойном приложении

Вот одна из типичных проблем при использовании всех ORM. Начинают лепить городухи для ленивой загрузки, а они рассчитаны только под чистый CRUD
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108526
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонКак бы такое провернуть?
Не понял, а в чем проблема?

Где-то в степиМСУЧтение БД с логикой в контроллере... Действительно, а что тут убийственного?
какая логика, вытащить модель из базы и размазать по контроллеру - все в returne что бы не пачкать тело метода?
50 проц основные нужды..
Чтение БД - это не логика, это чтение БД. А вот дальше идет логика. И тому и другому не место в контроллере.
...
Рейтинг: 0 / 0
25 сообщений из 164, страница 3 из 7
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF, Repository, UnitOfWork
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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