powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / 2-х звенка vs. 3-х звенка и безопасность
25 сообщений из 360, страница 7 из 15
2-х звенка vs. 3-х звенка и безопасность
    #38425128
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
примерчик БЛ на SQL в 2-х звенке
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1051867&msg=14946648
http://www.sql.ru/forum/1051867-2/zadacha-na-nakopitelnyy-itog?mid=14951113#14951113
Код: sql
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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
IF OBJECT_ID('tempdb..#Cell') IS NOT NULL DROP TABLE #Cell;
IF OBJECT_ID('tempdb..#OrderDetail') IS NOT NULL DROP TABLE #OrderDetail;

CREATE TABLE #Cell(CellId int, GoodsId int, Qty int)

INSERT INTO #Cell VALUES (1, 1, 72)
INSERT INTO #Cell VALUES (2, 1, 72)
INSERT INTO #Cell VALUES (3, 1, 40)
INSERT INTO #Cell VALUES (11, 2, 240)
INSERT INTO #Cell VALUES (12, 2, 240)
INSERT INTO #Cell VALUES (13, 2, 80)
INSERT INTO #Cell VALUES (14, 2, 10)
INSERT INTO #Cell VALUES (21, 3, 30)
INSERT INTO #Cell VALUES (31, 4, 100)


CREATE TABLE #OrderDetail (OrderDetailId int, GoodsId int, Qty int)

INSERT INTO #OrderDetail VALUES (101, 1, 120)
INSERT INTO #OrderDetail VALUES (102, 2, 100)
INSERT INTO #OrderDetail VALUES (103, 3, 70)
INSERT INTO #OrderDetail VALUES (104, 4, 55)

GO

WITH cte(OrderDetailId,GoodsId,Qty,CellId,min_CellId,lvl,max_qty,cell_qty,used) AS (
	SELECT OrderDetailId,GoodsId,Qty,0 AS CellId,0 AS min_CellId,0 AS lvl,0 AS max_qty,0 AS cell_qty,
		  CAST(',' AS VARCHAR(MAX)) AS used
	FROM  #OrderDetail
	UNION ALL
	SELECT * FROM 
	(SELECT 
			OrderDetailId,
			cte.GoodsId,
			cte.Qty - cell.Qty AS Qty,
			cell.CellId,
			MIN(cell.CellId) OVER(PARTITION BY cte.GoodsID) AS min_CellId,
			cte.lvl + 1 AS lvl,
			MAX(cell.Qty) OVER(PARTITION BY cte.GoodsID) AS max_qty,
			cell.Qty AS cell_qty,
			cte.used + CAST(cell.CellId AS VARCHAR(MAX)) + ',' AS used
	 FROM cte
	 INNER JOIN #Cell AS cell
	 ON (cte.GoodsId = cell.GoodsId AND cte.Qty >= cell.Qty
		 AND cte.used NOT LIKE '%,' + CAST(cell.CellId AS VARCHAR(MAX)) + ',%')) AS a
	WHERE cell_qty = max_qty AND min_CellId = CellId)
SELECT OrderDetailId,CellId
FROM cte
WHERE CellId <> 0
ORDER BY cte.OrderDetailId,CellId


пусть будет Много методов)...хороших и разных))....аминь.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425137
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КPetro123пропущено...

Дык приведи свою бизнес-логику.
ОРМ делает из таблицы Заказы на 50 млн. - коллекцию на 50 млн.
Отчёты это отдельная тема, которая ОРМ не по зубам. Тут недавно было обсуждений. Приводил пример реализации на EF.
в качестве примера как не нужно делать бизнес-логику хорошо подойдет, буду студентов учить. Или это с этой целью и приводилось?
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425226
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Алексей К Тут недавно было обсуждений. Приводил пример реализации на EF.
действительно) Портянка не для слабонервных.
Тут палка о двух концах.
Если пытаться писать запросы к РСУБД по ООП, то процедуры не должны быть портянками ((с) МСУ)

У меня на работе было даже требование - размер не больше окна монитора)).

Прикладной код отличается от системного. "Портянка" в прикладном коде - нормальное явление.
Petro123А на SQL код всё таки более лаконичный при работе с множествами и кортежами записей.Стандартная фраза для подобного рода обсуждений. Обратите внимание, в том примере ООП используется только в системных целях. Прикладная задача решена в процедурном стиле. Работа с множествами в LINQ ничем не отличается от SQL. Но в отличие от SQL, в нём присутствует ряд полезных возможностей, вроде ассоциаций (альтернатива join) и оператора let (альтернатива вложенным запросам).
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425228
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmАлексей Кпропущено...
Тут недавно было обсуждений. Приводил пример реализации на EF.
в качестве примера как не нужно делать бизнес-логику хорошо подойдет, буду студентов учить. Или это с этой целью и приводилось?Мне кажется, данный пример заслуживает, как минимум, конструктивной критики. Если Вам по делу сказать нечего - лучше промолчать.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425229
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кiscrafmпропущено...

в качестве примера как не нужно делать бизнес-логику хорошо подойдет, буду студентов учить. Или это с этой целью и приводилось?Мне кажется, данный пример заслуживает, как минимум, конструктивной критики. Если Вам по делу сказать нечего - лучше промолчать.
я по делу сказал, конструктивно. Мне всегда такие "портянки" хочется приводить в качестве примеров бессмысленного, беспощадного и требующего невероятных усилий в сопровождении подхода к реализации прикладной логики. Простая и конструктивная критика. Ничего личного как говориться, у меня не было цели вас задеть именно подколками. Просто у меня кардинально другой взгляд по построение прикладных систем, а вы дали хороший пример для сравнения. Так уж получилось.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425230
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К"Портянка" в прикладном коде - нормальное явление.
с точностью до наоборот.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425231
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmАлексей Кпропущено...
Мне кажется, данный пример заслуживает, как минимум, конструктивной критики. Если Вам по делу сказать нечего - лучше промолчать.
я по делу сказал, конструктивно. Мне всегда такие "портянки" хочется приводить в качестве примеров бессмысленного, беспощадного и требующего невероятных усилий в сопровождении подхода к реализации прикладной логики. Простая и конструктивная критика. Ничего личного как говориться, у меня не было цели вас задеть именно подколками. Просто у меня кардинально другой взгляд по построение прикладных систем, а вы дали хороший пример для сравнения. Так уж получилось.Просто я под словом "конструктивно" понимаю несколько иное. Например: "почему бы не заменить магические числа константами", или "методы слишком большие, я бы произвёл выделение метода". Что-то в этом роде...
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425234
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmАлексей К"Портянка" в прикладном коде - нормальное явление.
с точностью до наоборот.Если метод должен вернуть таблицу с 20+ полями - без "портянки" никак. Вероятно, у Вас просто другие задачи.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425239
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кiscrafmпропущено...

я по делу сказал, конструктивно. Мне всегда такие "портянки" хочется приводить в качестве примеров бессмысленного, беспощадного и требующего невероятных усилий в сопровождении подхода к реализации прикладной логики. Простая и конструктивная критика. Ничего личного как говориться, у меня не было цели вас задеть именно подколками. Просто у меня кардинально другой взгляд по построение прикладных систем, а вы дали хороший пример для сравнения. Так уж получилось.Просто я под словом "конструктивно" понимаю несколько иное. Например: "почему бы не заменить магические числа константами", или "методы слишком большие, я бы произвёл выделение метода". Что-то в этом роде...
ок. Я бы не стал использовать ООП портянки для реализации простейших прикладных задач.
Для того, чтобы в базе данных удалить запись достаточно написать
Код: sql
1.
delete Task where ID = :pID


к примеру,
а не
warning

Код: c#
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.
30.
31.
32.
33.
34.
35.
public void DeleteMessageTaskByID(int id) 
        { 
            using (var sc = DbMainFactory.Scope) 
            using (new DbContextNoDetectChangesScope(sc.Content)) 
            { 
                SvcMessageCore.ValidateCanChangeMessageByID(id); 
  
                var qDeleteData = 
                    from mt in sc.Content.message_task 
                    where mt.ID == id 
                    select new
                    { 
                        Task = mt, 
                        TaskMessage = mt.ID_Reference, 
                        Comments = 
                            from comment in mt.message_comments_TaskID_Reference 
                            select new
                            { 
                                Comment = comment, 
                                CommentMessage = comment.ID_Reference 
                            }, 
                        Favorites = mt.message_taskToFavorite_TaskID_Reference 
                    }; 
  
                var deleteData = qDeleteData.First(); 
  
                sc.Content.AttachManyAsDeleted(deleteData.Comments.Select(d => d.Comment)); 
                sc.Content.AttachManyAsDeleted(deleteData.Comments.Select(d => d.CommentMessage)); 
                sc.Content.AttachManyAsDeleted(deleteData.Favorites); 
                sc.Content.AttachAsDeleted(deleteData.Task); 
                sc.Content.AttachAsDeleted(deleteData.TaskMessage); 
  
                sc.Content.SaveChanges(); 
            } 
        } 


а если завтра понадобиться удалять по другим ключам, то этот снежный ком будет расти не по дням, а по часам. Так и рождаются монстры, которые потом требуют невероятных усилий в поддержке.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425242
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кiscrafmпропущено...

с точностью до наоборот.Если метод должен вернуть таблицу с 20+ полями - без "портянки" никак. Вероятно, у Вас просто другие задачи.
у меня такие же задачи. Просто я их решаю другими способами.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425245
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,
просьба не воспринимать мои взгляды на это все, как попытку выставить именно Ваш код в каком-то качестве. Я только саму идеологию рассматриваю
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425248
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm,

скорее всего уэтих ЕВ и т.д. не хватает мозгов для номалього удаления связанных типов
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425249
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmАлексей Кпропущено...
Просто я под словом "конструктивно" понимаю несколько иное. Например: "почему бы не заменить магические числа константами", или "методы слишком большие, я бы произвёл выделение метода". Что-то в этом роде...
ок. Я бы не стал использовать ООП портянки для реализации простейших прикладных задач.
Для того, чтобы в базе данных удалить запись достаточно написать
Код: sql
1.
delete Task where ID = :pID


к примеру,
а не
warning

Код: c#
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.
30.
31.
32.
33.
34.
35.
public void DeleteMessageTaskByID(int id) 
        { 
            using (var sc = DbMainFactory.Scope) 
            using (new DbContextNoDetectChangesScope(sc.Content)) 
            { 
                SvcMessageCore.ValidateCanChangeMessageByID(id); 
  
                var qDeleteData = 
                    from mt in sc.Content.message_task 
                    where mt.ID == id 
                    select new
                    { 
                        Task = mt, 
                        TaskMessage = mt.ID_Reference, 
                        Comments = 
                            from comment in mt.message_comments_TaskID_Reference 
                            select new
                            { 
                                Comment = comment, 
                                CommentMessage = comment.ID_Reference 
                            }, 
                        Favorites = mt.message_taskToFavorite_TaskID_Reference 
                    }; 
  
                var deleteData = qDeleteData.First(); 
  
                sc.Content.AttachManyAsDeleted(deleteData.Comments.Select(d => d.Comment)); 
                sc.Content.AttachManyAsDeleted(deleteData.Comments.Select(d => d.CommentMessage)); 
                sc.Content.AttachManyAsDeleted(deleteData.Favorites); 
                sc.Content.AttachAsDeleted(deleteData.Task); 
                sc.Content.AttachAsDeleted(deleteData.TaskMessage); 
  
                sc.Content.SaveChanges(); 
            } 
        } 


а если завтра понадобиться удалять по другим ключам, то этот снежный ком будет расти не по дням, а по часам. Так и рождаются монстры, которые потом требуют невероятных усилий в поддержке.Там циклическая зависимость между таблицами. MSSQL в таком случае каскадное удаление делать не умеет.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425258
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

как я вижу и ЕФ не умеет, а то бы ты не читал в контекст всякую белиберду только для удаления
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425278
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosАлексей К,

как я вижу и ЕФ не умеет, а то бы ты не читал в контекст всякую белиберду только для удаленияЗачем EF уметь каскадное удаление, если это умеет СУБД?

Впрочем, мне не нравится, что в EF сохранение только через UnitOfWork. Считаю это его недостатком.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425282
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КViPRosАлексей К,

как я вижу и ЕФ не умеет, а то бы ты не читал в контекст всякую белиберду только для удаленияЗачем EF уметь каскадное удаление, если это умеет СУБД?

Впрочем, мне не нравится, что в EF сохранение только через UnitOfWork. Считаю это его недостатком.
СУБД может много чего не уметь (другие требования), а вот ты можешь в своих классах делать что хошь, так?
но в таком случае долбаный маппер должен делать все, что ты делаешь в коде со своими классами.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425360
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>MasterZiv, сегодня, 01:46 [14959694]
>...Но кол-во звеньев на самом деле никак не связано с безопасностью ...
>Ещё раз, по буквам: ВООБЩЕ НИКАК НЕ СВЯЗАНО.

Я достаточно долго размышлял над этим вопросом и пришел к прямо противоположному - в некоторых системах количество звеньев может существенно усилить безопасность.

Рассмотрим 2 системы:
1. 3-х звенку, где сервер приложений (СП) базируется на IIS (WCF сервисы) и расположен на 2-м звене, считая от клиента. Здесь СП имеет прямой выход в незащищенную сеть и значительную функциональную избыточность. Здесь выполняются криптооперации.
2. Многозвенку прототип . Здесь сервера приложений находятся на 4-ом уровне по отношению к клиенту. Здесь сервера коммуникаций (СК) (WCF сервисы) также имеют прямой выход в незащищенную сеть, но их функциональность примитивна и полностью контролируется. И никаких криптоопераций в этом звене.

"Положить" 3-х звенку, можно не только "положив" сервер базы данных, но и сервер приложений. Когда начинал проектировать прототип, было достаточно много сообщений о "дырах" и IIS.
Перегнать в нештатную СК достаточно сложно, весь его функционал заключается в "перекладывании" информационного пакета.

Как то так.
С уважением, Владимир.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425393
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Кiscrafmпропущено...

в качестве примера как не нужно делать бизнес-логику хорошо подойдет, буду студентов учить. Или это с этой целью и приводилось?Мне кажется, данный пример заслуживает, как минимум, конструктивной критики. Если Вам по делу сказать нечего - лучше промолчать.

Критика простая. Где же простота и скорость разработки, за которую ты так ратовал в топике, где писал, что тебе репозитории не нужны?
Что дают эти много километровые портянки? Если бы были нормальные view в БД, то все твои сервисы можно было бы генерить с помощью кодогенераторов, где была бы одна сточка с вызовом метода обобщенного репозитория. В некоторых фреймворках подобные сервисы уже в комплекте и этого не требуется.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425399
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев>MasterZiv, сегодня, 01:46 [14959694]
>...Но кол-во звеньев на самом деле никак не связано с безопасностью ...
>Ещё раз, по буквам: ВООБЩЕ НИКАК НЕ СВЯЗАНО.

Я достаточно долго размышлял над этим вопросом и пришел к прямо противоположному - в некоторых системах количество звеньев может существенно усилить безопасность.

Рассмотрим 2 системы:
1. 3-х звенку, где сервер приложений (СП) базируется на IIS (WCF сервисы) и расположен на 2-м звене, считая от клиента. Здесь СП имеет прямой выход в незащищенную сеть и значительную функциональную избыточность. Здесь выполняются криптооперации.
2. Многозвенку прототип . Здесь сервера приложений находятся на 4-ом уровне по отношению к клиенту. Здесь сервера коммуникаций (СК) (WCF сервисы) также имеют прямой выход в незащищенную сеть, но их функциональность примитивна и полностью контролируется. И никаких криптоопераций в этом звене.

"Положить" 3-х звенку, можно не только "положив" сервер базы данных, но и сервер приложений. Когда начинал проектировать прототип, было достаточно много сообщений о "дырах" и IIS.
Перегнать в нештатную СК достаточно сложно, весь его функционал заключается в "перекладывании" информационного пакета.

Как то так.
С уважением, Владимир.

WCF сервисы в IIS никто уже давно не хостит. Какая может быть безопасность, если данные гоняются по сети в открытом виде?
Зачем нужны свои мультики, если шифрование и так есть в комплекте?
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425512
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaЧто дают эти много километровые портянки? Если бы были нормальные view в БД, то все твои сервисы можно было бы генерить с помощью кодогенераторов, где была бы одна сточка с вызовом метода обобщенного репозитория.Если бы были "нормальные view в БД", "портянка" была бы в T-SQL скриптах. А это, на мой взгляд, хуже.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425527
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КSeVaЧто дают эти много километровые портянки? Если бы были нормальные view в БД, то все твои сервисы можно было бы генерить с помощью кодогенераторов, где была бы одна сточка с вызовом метода обобщенного репозитория.Если бы были "нормальные view в БД", "портянка" была бы в T-SQL скриптах. А это, на мой взгляд, хуже.
это лучше на самом деле. Портянка хороша если она хорошо прилегает к ноге. Тем более в СУБД она намного короче получается и без дополнительных прокладок. Вытягивание на средний уровень таких операций только ради вытягивания ничего не дает, кроме накладных расходов
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425543
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>SeVa, вчера, 23:55 [14962082]
>WCF сервисы в IIS никто уже давно не хостит.
Если Вам не трудно, то Google, запрос "wcf сервис iis"
>Какая может быть безопасность, ...
Это Вы о чем?
>Зачем нужны свои мультики ...
О каком комплекте идет речь?

С уважением, Владимир.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425546
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmАлексей Кпропущено...
Если бы были "нормальные view в БД", "портянка" была бы в T-SQL скриптах. А это, на мой взгляд, хуже.
это лучше на самом деле. Портянка хороша если она хорошо прилегает к ноге. Тем более в СУБД она намного короче получается и без дополнительных прокладок. Вытягивание на средний уровень таких операций только ради вытягивания ничего не дает, кроме накладных расходовНу давайте, я попробую ещё раз сформулировать преимущества и недостатки:

Преимущества:
1. Строгая типизация. Тесная интеграция с другими частями проекта.
2. Возможности рефакторинга IDE Visual Studio.
3. Оператор let удобнее вложенных запросов.
4. Ассоциации удобнее join.
5. Возможность использования средств ООП для организации прикладного кода.

Недостатки:
1. Неудобный синтаксис для left join. С другой стороны, в основном используются ассоциации, join приходится делать достаточно редко. Но сам факт неприятен. :-)

2. Накладные расходы на преобразование expression tree => SQL и DbDataReader => entity object . В Entity Framework 6 это оптимизировано, проблем с производительностью по этим причинам больше нет. Раньше были.

3. Сохранение только через UnitOfWork. Ну в крайнем случае придётся написать SQL сохранения самому, если сторонние средства не устраивают. Особой проблемы тут тоже не вижу.

зы: У меня есть проект, содержащий ~3 МБ T-SQL скриптов с прикладной логикой. Работать с ними крайне неприятно.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425589
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmАлексей Кпропущено...
Тут недавно было обсуждений. Приводил пример реализации на EF.
в качестве примера как не нужно делать бизнес-логику хорошо подойдет, буду студентов учить. Или это с этой целью и приводилось?
Это не бизнес логика, это элементарный запрос. А-ля курам на смех. Вот бизнес логика:

...


http://ru.wikipedia.org/wiki/Бизнес-логика Бизнес-логика — в разработке информационных систем — совокупность правил, принципов, зависимостей поведения объектов предметной области (области человеческой деятельности, которую система поддерживает). Иначе можно сказать, что бизнес-логика — это реализация правил и ограничений автоматизируемых операций. Является синонимом термина «логика предметной области» (англ. domain logic).
Проще говоря, бизнес-логика — это реализация предметной области в информационной системе. К ней относятся, например, формулы расчёта ежемесячных выплат по ссудам (в финансовой индустрии), автоматизированная отправка сообщений электронной почты руководителю проекта по окончании выполнения частей задания всеми подчиненными (в системах управления проектами), отказ от отеля при отмене рейса авиакомпанией (в туристическом бизнесе) и т. д.


Твой "запросик" ну никак не тянет на "реализация предметной области".
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38425593
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123МСУВо-первых, это не логика. Во-вторых, есть орм. В-третьих, отчеты это вообще отдельная тема.
Дык приведи свою бизнес-логику.
ОРМ делает из таблицы Заказы на 50 млн. - коллекцию на 50 млн.
Отчёты это отдельная тема, которая ОРМ не по зубам.
Выше привел, могу привести реальным кодом. По сути это будет реализация метода шаблона репозитория , которая через IoC доступна контроллеру. Про отчеты я вообще ничего не говорил, это отдельная тема, которой управляет сервер отчетов. В разрезе майкрософта пусть это будет отдельный SSRS и SSAS.
...
Рейтинг: 0 / 0
25 сообщений из 360, страница 7 из 15
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / 2-х звенка vs. 3-х звенка и безопасность
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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