Domain Model vs фичи языка C#
А этот linq запрос оттранслируется в один sql запрос или в n+1?
А этот linq запрос оттранслируется в один sql запрос или в n+1?Первый вариант в n+1, второй в два запроса: один по Orders, и один OrderDetails join Orders.
Возможно, тебе еще интересно, какой запрос выполнится если в первом варианте убрать первый AsEnumerable. Есть подозрение (пробовать лень что LINQ достаточно умный, чтобы выполнить один запрос, и потом правильно заполнить граф объектов. Но это уже сложная магия, я бы обходил ее стороной.
И он отлично переносит изменение способа загрузки.Но зачем изменять способ загрузки?
Но зачем изменять способ загрузки?Это у него так в примере. Типа сначала написали n+1, потом выяснили, что производительность плохая.
В принципе, пох по какой причине изменения. Изменяться может всё, и по тысячи внешних и внутренних причин. На статически типизированном языке изменения можно поддерживать. Фаулеровский Ruby код сосет со страшной силой. Интересно, насколько лажает Фаулер, или это общая черта динамических языков...
Фаулеровский Ruby код сосет со страшной силой. Интересно, насколько лажает Фаулер, или это общая черта динамических языков...Только на сосущих динамических PHP, Perl, Python и Ruby наклепали миллион сайтов, а весь из себя замечательный C# сам по себе никому не нужен (только как часть MS-стека).
(только как часть MS-стека).я бы сказал наоборот серверный MS-стек полное говно за исключением C# и SQL Server. Тем не менее, ASP.NET это вторая web-серверная платформа.
я бы сказал наоборот серверный MS-стек полное говно за исключением C#А что, много кто использует mono под линуксом для вебдева?
А что, много кто использует mono под линуксом для вебдева?Хотел сам поподробнее узнать. Но, вроде как, оно отстает в плане реализации классов .NET Framewor-а, поэтому менее рискованно оставаться на Windows.
Ты думаешь от Windows сейчас что-нибудь осталось бы, не будь хорошего языка и SQL Server-а?
Перепиши на ADO.NET пока никто не умер
Боже, ну и порнография у тебя в кодеЕщё один отстал года на четыре...
Перепиши на ADO.NET пока никто не умер
Боже, ну и порнография у тебя в кодеты ответил на пост с LINQ. Тебе не нравится запрос на LINQ? Для этого примера запрос на LINQ выглядит идеально.
Перепиши на ADO.NET пока никто не умер
Оставить комментарий
6yrop
Есть вот такая статья Файлера http://martinfowler.com/articles/dblogic.htmlОсновной поинт там в том, что Domain Model крута тем, что можно менять способы загрузки данных из БД, а код бизнес-логики остается почти неизменным.
Код у него на Ruby с кучей изменяемого состояния. А вот, как тот же Transaction Script на C#-е:
И он отлично переносит изменение способа загрузки. Четыре последних строчки, в которых и есть бизнес-логика, остаются неизменными.
Получается вся эта мега архитектура Domain Model бьется методами ToLookup/ToDictionaty?