powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF, Repository, UnitOfWork
25 сообщений из 164, страница 4 из 7
EF, Repository, UnitOfWork
    #38108532
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУПарамонКак бы такое провернуть?
Не понял, а в чем проблема?

Где-то в степипропущено...

какая логика, вытащить модель из базы и размазать по контроллеру - все в returne что бы не пачкать тело метода?
50 проц основные нужды..
Чтение БД - это не логика, это чтение БД. А вот дальше идет логика. И тому и другому не место в контроллере.

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

Не понял, а в чем проблема?

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

Чтение БД - это не логика, это чтение БД. А вот дальше идет логика. И тому и другому не место в контроллере.

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

http://ru.wikipedia.org/wiki/Model-View-Controller

НазначениеОсновная цель применения этой концепции состоит в разделении бизнес-логики (модели) от её визуализации (представления, вида).

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

http://ru.wikipedia.org/wiki/Model-View-Controller

НазначениеОсновная цель применения этой концепции состоит в разделении бизнес-логики (модели) от её визуализации (представления, вида).

Наиболее частые ошибкиНачинающие программисты (особенно в веб-программировании, где аббревиатура MVC стала популярна) очень часто трактуют архитектурную модель MVC как пассивную модель MVC. В этом случае модель выступает исключительно совокупностью функций для доступа к данным, а контроллер содержит бизнес-логику

1. Ты выше утверждал, что контроллер не должен содержать бизнес-логику, а теперь даешь ссылку, где утверждается совершенно обратное. Сам себя макнул в собственно дермецо.
2. Все твои mvc, mvp, о которых ты слышал только в теории и объеме wiki для Эллочек-людоедок, я давно уже попробовал на зуб и выкинул за полной их непригодностью.
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108562
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНе понял, а в чем проблема?

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

Нужно мапить модель к дто, а это лишняя дополнительная логика специально для дто.

Это левые танцы с бубнами, которые показывают убогость чистого ORM
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108573
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa1. Ты выше утверждал, что контроллер не должен содержать бизнес-логику, а теперь даешь ссылку, где утверждается совершенно обратное. Сам себя макнул в собственно дермецо.
Тебе окончательно голову оторвало? Контроллер не должен содержать бизнес-логику, об этом пишется в статье. Ты читаешь жопой?
Наиболее частые ошибки => контроллер содержит бизнес-логику
Тебе даже википедию нельзя читать, иди пиродки пеки, бездарность.

SeVa2. Все твои mvc, mvp, о которых ты слышал только в теории и объеме wiki для Эллочек-людоедок, я давно уже попробовал на зуб и выкинул за полной их непригодностью.
Ты контроллер от модели отличить не можешь, дикарь, о каких зубах ты вещаешь? Иди в сад.
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108576
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонНужно мапить модель к дто, а это лишняя дополнительная логика специально для дто.
А дто не должна отмапливать сама, этим должен заниматься маппер - отдельный класс с тупыми статическими методами.
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108577
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaПарамонпропущено...
Нужно мапить модель к дто, а это лишняя дополнительная логика специально для дто.
Это левые танцы с бубнами, которые показывают убогость чистого ORM
Дурень, о ORM речт вообще не идет. Разговор об уровнях BL <=> DTO.
Пшел вон, не мешайся под ногами, ламер, пока дяди взрослые разговаривают.
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108580
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVa... ORM.... а они рассчитаны только под чистый CRUD

Конкретно EF и в простом CRUD может интересно себя повести. например, при включенном Concurency можно схватить ошибок при апдейтах Order/Details, когда изменяются только Details

Пример (многобукв)
Пусть есть Order/Details

Гавнакод, удаляет одну деталь и изменяет вторую.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
            using (var ctx = new DB1Entities())
            {
                var o = ctx.Orders.First();

                var od = o.Details.First();
                o.Details.Remove(od);
                ctx.OrderDetails.Remove(od);

                od = o.Details.First();
                od.Quantity = 7;

                DumpEntity(ctx);

                ctx.SaveChanges();
            }



Состояния entries в контексте Order - UNCHANGED
Код: sql
1.
2.
3.
System.Data.Entity.DynamicProxies.OrderDetail_B5EF51... - Modified
System.Data.Entity.DynamicProxies.OrderDetail_B5EF51... - Deleted
System.Data.Entity.DynamicProxies.Order_DFFC55BA5F8C... - Unchanged



В базу отправляются только два запроса, версия Order остается не изменна
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
exec sp_executesql N'update [dbo].[ORDER_DETAIL]
set [QUANTITY] = @0
where (([ID_ORDER_DETAIL] = @1) and ([VERSION] = @2))
select [VERSION]
from [dbo].[ORDER_DETAIL]
where @@ROWCOUNT > 0 and [ID_ORDER_DETAIL] = @1',N'@0 int,@1 int,@2 binary(8)',@0=7,@1=2,@2=0x00000000000007D7


exec sp_executesql N'delete [dbo].[ORDER_DETAIL]
where (([ID_ORDER_DETAIL] = @0) and ([VERSION] = @1))',N'@0 int,@1 binary(8)',@0=1,@1=0x00000000000007D6



Т. е. при конкурентном доступе, второй пользователь может не увидет этих изменений, если он не работал с измененной/удаленной деталью. Так как у Order версия не поменяется.

Чтобы работало как надо, прийдется вставить строчку

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
            using (var ctx = new DB1Entities())
            {
                var o = ctx.Orders.First();

                var od = o.Details.First();
                o.Details.Remove(od);
                ctx.OrderDetails.Remove(od);

                od = o.Details.First();
                od.Quantity = 7;

             ctx.Entry(o).State = System.Data.EntityState.Modified;

                DumpEntity(ctx);

                ctx.SaveChanges();
            }



И тогда все ОК, версия обновляется ОК.
Код: sql
1.
2.
3.
System.Data.Entity.DynamicProxies.OrderDetail_B5EF51... - Modified
System.Data.Entity.DynamicProxies.Order_DFFC55BA5F8C... - Modified
System.Data.Entity.DynamicProxies.OrderDetail_B5EF51... - Deleted



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
exec sp_executesql N'update [dbo].[ORDER]
set [ID_CUSTOMER] = @0, [ORDER_DATE] = @1, [SHIPMENT_COUNTRY] = @2, [SHIPMENT_CITY] = @3, [SHIPMENT_STREET] = @4, [SHIPMENT_BUILDING] = @5
where (([ID_ORDER] = @6) and ([VERSION] = @7))
select [VERSION]
from [dbo].[ORDER]
where @@ROWCOUNT > 0 and [ID_ORDER] = @6',N'@0 int,@1 datetime2(7),@2 nvarchar(50),@3 nvarchar(50),@4 nvarchar(50),@5 nvarchar(10),@6 int,@7 binary(8)',@0=1,@1='2013-01-13 22:54:55.2470000',@2=N'fqwef',@3=N'qwefqwef',@4=N'123r123r',@5=N'wefwef',@6=2,@7=0x00000000000007D8

exec sp_executesql N'update [dbo].[ORDER_DETAIL]
set [QUANTITY] = @0
where (([ID_ORDER_DETAIL] = @1) and ([VERSION] = @2))
select [VERSION]
from [dbo].[ORDER_DETAIL]
where @@ROWCOUNT > 0 and [ID_ORDER_DETAIL] = @1',N'@0 int,@1 int,@2 binary(8)',@0=7,@1=4,@2=0x00000000000007DA

exec sp_executesql N'delete [dbo].[ORDER_DETAIL]
where (([ID_ORDER_DETAIL] = @0) and ([VERSION] = @1))',N'@0 int,@1 binary(8)',@0=3,@1=0x00000000000007D9





И это Connected сценарий .
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108586
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSeVa1. Ты выше утверждал, что контроллер не должен содержать бизнес-логику, а теперь даешь ссылку, где утверждается совершенно обратное. Сам себя макнул в собственно дермецо.
Тебе окончательно голову оторвало? Контроллер не должен содержать бизнес-логику, об этом пишется в статье. Ты читаешь жопой?
Наиболее частые ошибки => контроллер содержит бизнес-логику
Тебе даже википедию нельзя читать, иди пиродки пеки, бездарность.

SeVa2. Все твои mvc, mvp, о которых ты слышал только в теории и объеме wiki для Эллочек-людоедок, я давно уже попробовал на зуб и выкинул за полной их непригодностью.
Ты контроллер от модели отличить не можешь, дикарь, о каких зубах ты вещаешь? Иди в сад.

Я тебе миллион раз говорил, чтобы ты подтирался своей вики сам. Она только для этого пригодна. Я не собираюсь читать это и вникать в твою дурь.
Если не в контроллере, то где? В космосе, муфлон, она должна быть реализована? Во view и моdel ей не место
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108588
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot SeVa]МСУпропущено...

Тебе окончательно голову оторвало? Контроллер не должен содержать бизнес-логику, об этом пишется в статье. Ты читаешь жопой?
Наиболее частые ошибки => контроллер содержит бизнес-логику
Тебе даже википедию нельзя читать, иди пиродки пеки, бездарность.

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

Ты контроллер от модели отличить не можешь, дикарь, о каких зубах ты вещаешь? Иди в сад.

Я тебе миллион раз говорил, чтобы ты подтирался своей вики сам. Она только для этого пригодна. Я не собираюсь читать это и вникать в твою дурь.
Если не в контроллере, то где? В космосе, муфлон, она должна быть реализована? Только у мудаков она во view и моdel, которые ничего кроме вики в пять строк, осилить не могут
\
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108589
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗЫ Попроси взрослых поменять тебе подгузники на ночь и не путайся под ногами
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108590
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaЯ тебе миллион раз говорил, чтобы ты подтирался своей вики сам. Она только для этого пригодна. Я не собираюсь читать это и вникать в твою дурь.
Дурень, тебе вникать просто нечем, это проблема не википедии, это проблема твой тупости. Обосрался ты сегодня знатно, очередной раз опускаем тебя на форуме. Какого оно, быть унылой кухаркой, поведай нем?

SeVaЕсли не в контроллере, то где? В космосе, муфлон, она должна быть реализована? Во view и моdel ей не место
Дятел тупорылый, в моделе и только в моделе. Не в контроллере, не во вью, не во вьюмоделе, не в репозитории. А в моделе. Заруби себе на носу, двоешник.
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108592
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaЗЫ Попроси взрослых поменять тебе подгузники на ночь и не путайся под ногами
Знатно ты лажанулась сегодня, кухарочка. Знатно. Как раз попкорн подоспел
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108595
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУА дто не должна отмапливать сама, этим должен заниматься маппер - отдельный класс с тупыми статическими методами.
Понятно что не сама, но все таки необходимость лишних телодвижений.
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108602
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонМСУА дто не должна отмапливать сама, этим должен заниматься маппер - отдельный класс с тупыми статическими методами.
Понятно что не сама, но все таки необходимость лишних телодвижений.
Маппер, одна строчка кода для намапливания целого экземпляра (для простых свойств).
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108604
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУМаппер, одна строчка кода для намапливания целого экземпляра (для простых свойств).
Для простых автомаппер.
Можно сделать отдельный класс для логики, получится чисто процедурный подход, но типизированный и с изоляцией )
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108609
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонМСУМаппер, одна строчка кода для намапливания целого экземпляра (для простых свойств).
Для простых автомаппер.
Можно сделать отдельный класс для логики, получится чисто процедурный подход, но типизированный и с изоляцией )
Да и автомаппер не нужен, еще левую сборку тянуть. Есть МСУ маппер :)
http://codearticles.ru/Home/ArticleView/1383

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

Можно и так. Вообще стараюсь обходится простым projection по возможности.
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108640
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaViPRos, а не нужны никому эти жесткие связи и полное описание БД, тк смысл всех этих мультитков - уйти от зависимости структуры БД.Тк ООП и БД - две большие разницы. Помимо этого, нужны разные срезы данных(об этом говорилось в статье)
Вместо с танцев с бубнами для описания можно спокойно содать view за пять минут, запустить кодогенратор, а дальше если есть нормальный фреймворк, то больше делать ничего не нужно, все и так подхватится.
всесто БД - черный ящик, который предоставляет нужные интерфейсы. Помимо нее могут разные постащики данных(внешние сервисы, файлы, очереди сообщений, голубиная почта и тд).
а я считаю что нафиг не нужны структурные классы в коде, их надо описывать в метаданных и все
а из метаданных создать БД и GUI
тогда все финтифлюшки тира ОРМ , ДТО, ... нафиг не нужны
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108771
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosтогда все финтифлюшки тира ОРМ , ДТО, ... нафиг не нужны
Датасеты?
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108815
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

не объязательно
кеш можно построить на любых коллекциях
просто датасет уже готовая инфраструктура с релейшнами, констрейтами и т.д.
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108926
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос для обсуждения. Есть репозиторий - стадарт КРУД + select ,where.
Задача - поиск по названию некой сущности. Реализцется как поиск по названию по 3 колонкам.
Вот куда это запихать лучше.
1. В интерфейс dao
2. Сделать напрямую в методе, которому это нужно.
...
Рейтинг: 0 / 0
EF, Repository, UnitOfWork
    #38108971
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosкеш можно построить на любых коллекциях
Вот он у нас и строится в EF на ICollection<T>.

ViPRosпросто датасет уже готовая инфраструктура с релейшнами, констрейтами и т.д.
В топку датасеты.

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


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