|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Алексей КДля других задач. хм, интересно и для каких? Алексей КНет, оптимизация. все не так однозначно, ORM является абстракцией, и если в этой абстракции отсутствует проверка на ограничение длины запроса для некой БД - это будет именно костылем, чтобы исправить ситуацию, которой не должно было быть, по правильному - ORM должна сама определить по типу БД максимальную длину запроса и организовать операцию так, чтобы не превысить это значение Алексей КДа я не про это. Странно, что приходится производить масштабные изменения данных, уже хранящихся в БД. Масштабная вставка - да, но не масштабные изменения. Впрочем, Вам виднее. так не очень понятно как вы предлагаете решить задачу в глобальном смысле? т.е. тут даже говорится о том, что средствами СУБД, внутри самой базы масштабно обновлять данные - есть плохо? ну а если надо? конкретно задача проверки ссылок URL, ссылки хранятся в базе, ссылка сегодня работает, завтра нет, надо их регулярно проверять, вопрос об адекватности требований заказчика / пользователя оставим в стороне ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2012, 16:41 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
17-77иди еще раз почитай обсуждение, особенно насчет DTO, который и является левым классом для ORM Сходил почитал. И? 17-77МСУОчень весомые доказательства. Это всё? да Бабушке своей "да" будешь говорить, а тут изволь аргументировать утечки памяти. Итак, еще раз, примеры, демонстрирующие утечки памяти в EF будут? 17-77читай до тех пор, пока не поймешь, что к чему, не люблю глупости объяснять по 100 раз Жжешь. В том-то и проблемы, что ты глупости объясняешь по 100 раз 17-77МСУИ? Не вижу выводов. Ты констатируешь факты, а выводов нет. Ну трехзвенка, ORM... Что дальше? аналогично Чего аналогично, повторялка? Всё, сопли кончились, вопросом на вопрос стал отвечать? 17-77МСУТолько что открыл дизайнер, обновил контекст, обновилось за 3 секунды. Что я делаю не так? я откуда знаю, не там считаешь, считай полностью: 1. открытие дизайнера 2. открытие окна подключения к базе 3. время пока это окно обратиться к БД, считает структуру и отобразит тебе дерево объектов 4. поиск нужного объекта 5. выделение галкой 6. нажатие кнопки ОК и ожидание результата Вот лог генерации модели: ...Generated model file: Model.edmx. Loading metadata from the database took 00:00:02.3613956. Generating the model took 00:00:00.8512094. Какие в жопу 2-3 минуты? Акстись. [quot 17-77]епрст, данные не надо обновлять при обновлении структуры базы xD, а мужики-то и не знают[/quote Так твои же слова, что надо. Более того, ты говорил о пересоздании базы данных. Ты уже сам запутался в своих бреднях. 17-771. добавление колонки not-null, ты там дальше вспоминаешь про дефолтное значение столбца, так вот запомни раз и навсегда - в данном случае это костыль для ленивых программистов, которым насрать на проект или начльник требует сделать побыстрому, дефолтное значение используется для других случаев, например это аналог переноса бизнес-логики в базу данных, в частности - например когда в таблицу пишет некая внешняя система и требуется устанавливать поля в дефолтные значения при отсутствии значений Всё зависит от задачи. Если нужно быстро руками - это одно, если саппорту нужно отвесить скрипт - это другое, если миграцию (ETL) надо протянуть - это третье. Часто и ручное добавление колонки выручает, особенно на этапе разработки. 17-772. обновление данных может затрагивать более сложные случаи - например * смена many-to-one, на many-to-many * добавление not-null столбца, значение которого зависит от некоторых других данных и дефолтного значения там быть не может, например направление (входщий/исходящий), направление "не определено" ака дефолтное значение - это тупо опять костыль, который потом исправлять скриптом обновления данных или иным быстрым способом, потому что пользователям будет лень тыкать кнопки для 10к записей Написал выше. Всё зависит от задачи. Я не протестую против скриптов. 17-77МСУТолько идиоты под каждый чих пересоздают таблицы в БД. Так что ты чё-то не в кассу сказал. мда, жесть, еще раз Да, жесть конечно. 17-77говорил такое? говорил, так вот при подходе database-first - у тебя нет таблиц в базе (а в начале проекта даже базы нет), ты сначала идешь в СУБД, создаешь через какую-нибудь managment studio базу, потом таблицы, поля там набиваешь, потом идешь в visul studio, в дизайнер EF, и только потом пытаешься их добавить в модель данных EF Не я иду, а идет конкретный DB-разработчик, которому нах не нужно конкретное ПО, над которым трудятся C#-кодеры. Все занимаются своей работой. Разрабу, который пишет бизнес-логику, нах не уперлись твои поля в БД - ему нужны определенные классы в прикладном коде. А что там будет, сиквел или оракл - монопенисуально. Что дадут, то и будет. C#-кодер обновляет контекст и продолжает дальше концентрироваться на логике. И так далее. 17-77и ты мне тут заливаешь про 10 секунд еще, ага на создание базы и десяти таблиц в базе руками, герой И того меньше. Речь о построении контекста, причем тут создание базы? 17-77она у тебя из дзена появится? Да. 17-77опа, а чего ты мне тут тогда втираешь про ORM и EF в частности? Опять ты невнимателен. Цитата не моя была, купи очик. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2012, 16:57 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
МСУsphinx_mv Мартин Фаулер : пропущено... Правильно, это относится к любой технологии. Нужно выбирать подходы исходя из потребностей и возможностей. Материал Вами (как обычно) не прочитан... А если и прочитан, то (тоже как обычно) совершенно не понят... МСУsphinx_mvДжимми Богард (соавтор ASP.NET MVC in Action) в "Choosing an ORM strategy" пропущено... Шагом марш учить английский язык - Джимми БогардМы должны отказаться от мысли, что ORM плохо, уродливо или мертво. Для решения проблем имеется много различных вариантов для этого. Но прежде чем мы рассмотрим эти варианты, давайте посмотрим на эту проблему с конкретики. ... Поржал. Было бы это смешно - можно было бы и поржать, но, к ОЧЕНЬ большому сожалению, то что у Вас проблемы с чтением "языка оригинала" даже со словарем - давно задокументировано. И смех это уже давно совершенно не вызывает... С каких пор "оставьте в прошлом" (дословно "по словарю") стало переводиться как "забудьте"? Ну, и с контекстным и идеоматическим переводом, когда вроде бы "по словарю" должен быть один смысл, а в контектсе получается совершенно другой - Вы тем более не знакомы... Относительно контекста "оставьте в прошлом" совершенно не означает, что указанные недостатки - "пройденный этап" и их уже нет. Наоброт - они ВСЕ ЕЩЕ ЕСТЬ, и изменить это НЕВОЗМОЖНО - соотвественно, общий смысл этой фразы, кроме как "смиритесь", не восприниматься просто не может... А, может, у Вас хватит дури утверждать, что ORM ни разу не "плохие"? И нигде не "перегруженные"? И совсем не "уродливые"? И Вы даже можете ЭТО (как-то) изменить? Ну-ну... Поспорьте с Фаулером... Можно еще Теда Ньюарда (Ted Neward) с его "Вьетнамом компьютерных наук" (The Vietnam of Computer Science) поопровергать... (запасаюсь попкорном, чипсами и пивом) Соотвественно, правильный (во всех смыслах) перевод этого абзаца звучит именно так: Мы должны смириться с мыслью о том, что ORM являются плохими, уродливыми и перегруженными. ORM предназначены решать задачу и имеют множество разных подходов для этого. Но, перед тем как мы посмотрим на эти подходы, давайте изучим, какую же задачу мы пытаемся решить? Сильно горите желанием - могу дать ссылку на весь текст перевода. Там и "пообщаетесь" с переводчиком, хотя что-то мне подсказывает, что Вам там в лучшем случае предложат "пешее эротическое"... МСУsphinx_mvи завершающий аккорд - Туполев, Андрей Николаевич (авиаконструктор): пропущено... Правильно, ORM - это красивые самолеты.Ожидаемо... Говоришь блондинке "дура", а от нее в ответ "зато красивая" - но, хоть бы раз перед этим она в зеркало глянула... Фаулер сказал... Богард сказал... Ньюард сказал... А МСУ все еще пыркается из говна конфеты делать... С другой строны, чего еще от "золотаря информационных технологий" ожидать?! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2012, 17:54 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Алексей КSeVaВ статье помимо EF&Hibernate рассматриваются совсем другие варианты(каждый из которых имеет свои плюсы\минусы и области применения), но в итоге вывод такой же как Фаулера - все УГ.В обоих статьях про LINQ ни слова. Почему?Потому, что LINQ непосредственного отношения к ORM не имеет. Это встроенный язык запросов к объектам, реализующим на .NET (и только!) интерфейсы IEnumerable и IEnumerable<T> ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2012, 17:57 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
МСУСходил почитал. И? МСУЖжешь. В том-то и проблемы, что ты глупости объясняешь по 100 раз МСУЧего аналогично, повторялка? Всё, сопли кончились, вопросом на вопрос стал отвечать? с тобой не о чем разговаривать, ты даже не можешь проследить две линии обсуждения, и почитать еще раз чуть выше над словом "аналогично" МСУКакие в жопу 2-3 минуты? Акстись. в моем случае считывание структуры БД занимало продолжительно-раздражающее время МСУТак твои же слова, что надо. Более того, ты говорил о пересоздании базы данных. Ты уже сам запутался в своих бреднях. забывчивый ты наш, до этого уже разобрали случаи обновления и пересоздания МСУНе я иду, а идет конкретный DB-разработчик, которому нах не нужно конкретное ПО, над которым трудятся C#-кодеры. Все занимаются своей работой. Разрабу, который пишет бизнес-логику, нах не уперлись твои поля в БД - ему нужны определенные классы в прикладном коде. А что там будет, сиквел или оракл - монопенисуально. Что дадут, то и будет. C#-кодер обновляет контекст и продолжает дальше концентрироваться на логике. И так далее. а, вот оно что, тебе DB-разработчик попу подтирал, ясно теперь, ну вот спроси у него сколько времени заняла разработка структуры БД и включи это время в общее время для database-first подхода МСУИ того меньше. Речь о построении контекста, причем тут создание базы? тупой и еще тупее, читаем ниже до полного понимания 17-77так вот при подходе database-first - у тебя нет таблиц в базе (а в начале проекта даже базы нет), ты сначала идешь в СУБД, создаешь через какую-нибудь managment studio базу, потом таблицы само название "database-first" предполагает, что сначала надо создать базу xDD МСУ17-77опа, а чего ты мне тут тогда втираешь про ORM и EF в частности? Опять ты невнимателен. Цитата не моя была , купи очик. ого, окей, давай досвидания МСУ Накладывают ООП на бизнес-логику, а не на реляционные данные. 13564358 в самом конце ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2012, 19:13 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
МСУДля ленивых танкистов: EF 4.3 Code-Based Migrations Walkthrough Эту поделку придумали для уродцев, которые предлагают варианты с default value. За одно это желтый билет с вещами на выход. The Vietnam of Computer Science ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2012, 19:36 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
sphinx_mvМатериал Вами (как обычно) не прочитан... А если и прочитан, то (тоже как обычно) совершенно не понят... Ты не можешь не то, что понять этот материал, ты даже не можешь идею материала вменяемо донести. Одно хлюпанье. sphinx_mvБыло бы это смешно - можно было бы и поржать, но, к ОЧЕНЬ большому сожалению, то что у Вас проблемы с чтением "языка оригинала" даже со словарем - давно задокументировано. И смех это уже давно совершенно не вызывает... Ты можешь свой оригинал утопить в унитазе, я тебе перевожу дословно, что имел ввиду автор. Все остальные слюни про идеоматическую дурь поскипал. Иди учись с букварём в первый класс. sphinx_mvНу-ну... Поспорьте с Фаулером... Можно еще Теда Ньюарда (Ted Neward) с его "Вьетнамом компьютерных наук" (The Vietnam of Computer Science) поопровергать... (запасаюсь попкорном, чипсами и пивом) Я буду долго смеяться над твоим детским простодушием, причем тут Фаулер? Никак нагуглил в своей википедии буковки известного чревовещателя и закатил нос кверху? Смешно, ей богу. Покажи мне место, в котором Мартин говорит об ORM плохо. Закупил пепсиколы с бубликами, готов читать твой унылый визг души. sphinx_mvСоотвественно, правильный (во всех смыслах) перевод этого абзаца звучит именно так: Мы должны смириться с мыслью о том, что ORM являются плохими, уродливыми и перегруженными. Соотвественно, правильный (во всех смыслах) перевод этого абзаца звучит именно так: Мы должны отказаться от мысли, что ORM плохо, уродливо или мертво. Для решения проблем имеется много различных вариантов для этого. Но прежде чем мы рассмотрим эти варианты, давайте посмотрим на эту проблему с конкретики. ... sphinx_mvОжидаемо... Говоришь блондинке "дура", а от нее в ответ "зато красивая" - но, хоть бы раз перед этим она в зеркало глянула... Ничего удивительного - блондинка скопипастила изкаверканные слова чревовещателей правды матки и гнёт тупую ламерскую линию. Обычный быдлоподход неудачника. sphinx_mvФаулер сказал... Богард сказал... Ньюард сказал... А МСУ все еще пыркается из говна конфеты делать... С другой строны, чего еще от "золотаря информационных технологий" ожидать?! Что Фаулер сказал? Что Богард сказал? Я катаюсь пополу от твоего тугодумия. Почитай лучше Application Architecture Guide, над которым трудились десятки умов и свопили все знания в этот букварь, а не кривые переводы сюда пость. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2012, 23:09 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
17-77с тобой не о чем разговаривать, ты даже не можешь проследить две линии обсуждения, и почитать еще раз чуть выше над словом "аналогично" Ты путаешься в показаниях, я тебя ловлю уже не в первый раз на этом. И тут ты выпаливаешь, что со мной не о чем разговаривать. Алес капут епта. 17-77в моем случае считывание структуры БД занимало продолжительно-раздражающее время Ты мог написать, что в твоем случае считывание структуры БД занимало месяц. И что? Ты так же не привел доказательств об утечках памяти. Что из этого следует? Правльно, ты очередная codemonkey-врунишка. 17-77забывчивый ты наш, до этого уже разобрали случаи обновления и пересоздания Да у тебя уже в кашу всё смешалось, кони, люди. 17-77а, вот оно что, тебе DB-разработчик попу подтирал, ясно теперь, ну вот спроси у него сколько времени заняла разработка структуры БД и включи это время в общее время для database-first подхода Я без него сам тебе скажу о трудозатратах. Я их уже озвучивал и говорил о плюсах дизайнера + автоапдейт. 17-77тупой и еще тупее, читаем ниже до полного понимания Опять ты заднюю включаешь. И дурака тоже. 17-77само название "database-first" предполагает, что сначала надо создать базу xDD Не поверишь, code-first тоже без базы работать не будет. 17-77ого, окей, давай досвидания Какой-то дешевый слив... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2012, 23:23 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
МСУsphinx_mvМатериал Вами (как обычно) не прочитан... А если и прочитан, то (тоже как обычно) совершенно не понят... Ты не можешь не то, что понять этот материал, ты даже не можешь идею материала вменяемо донести. Одно хлюпанье. С какого перепоя Вы решили, что я что-то должен Вам "вменяемо доносить"?! Ссылки были даны! Вам прочитать и понять материал самостоятельно мозгов не хватает? Ну, а я-то тут при чем?! Лектором или репетитором лично к Вам я не нанимался... МСУsphinx_mvБыло бы это смешно - можно было бы и поржать, но, к ОЧЕНЬ большому сожалению, то что у Вас проблемы с чтением "языка оригинала" даже со словарем - давно задокументировано. И смех это уже давно совершенно не вызывает... Ты можешь свой оригинал утопить в унитазе, я тебе перевожу дословно, что имел ввиду автор. Все остальные слюни про идеоматическую дурь поскипал. Иди учись с букварём в первый класс. С Вашим-то знанием "дословного" перевода только программированием заниматься... Ага... На "переводе со словарем" даже первокласник лучше Вас бы справился... МСУsphinx_mvНу-ну... Поспорьте с Фаулером... Можно еще Теда Ньюарда (Ted Neward) с его "Вьетнамом компьютерных наук" (The Vietnam of Computer Science) поопровергать... (запасаюсь попкорном, чипсами и пивом) Я буду долго смеяться над твоим детским простодушием, причем тут Фаулер? Никак нагуглил в своей википедии буковки известного чревовещателя и закатил нос кверху? Смешно, ей богу. Покажи мне место, в котором Мартин говорит об ORM плохо. Закупил пепсиколы с бубликами, готов читать твой унылый визг души.Ну, идите давитесь бубликами, топитесь в коле, стреляйтесь из веника или вешайтесь на шнуре от мышки: ФаулерListening to some critics, you'd think that the best thing for a modern software developer to do is roll their own ORM. The implication is that tools like Hibernate and Active Record have just become bloatware, so you should come up with your own lightweight alternative. Now I've spent many an hour griping at bloatware, but ORMs really don't fit the bill - and I say this with bitter memory . For much of the 90's I saw project after project deal with the object/relational mapping problem by writing their own framework - it was always much tougher than people imagined. Usually you'd get enough early success to commit deeply to the framework and only after a while did you realize you were in a quagmire - this is where I sympathize greatly with Ted Neward's famous quote that object-relational mapping is the Vietnam of Computer Science[1].Продолжить? Не вопрос: ФаулерMany people treat the relational database "like a crazy aunt who's shut up in an attic and whom nobody wants to talk about"[3]. In this world-view they just want to deal with in-memory data-structures and let the ORM deal with the database. This way of thinking can work for small applications and loads, but it soon falls apart once the going gets tough. Essentially the ORM can handle about 80-90% of the mapping problems , but that last chunk always needs careful work by somebody who really understands how a relational database works .Могу еще добавить: ФаулерMapping to a relational database involves lots of repetitive, boiler-plate code. A framework that allows me to avoid 80% of that is worthwhile even if it is only 80%. The problem is in me for pretending it's 100% when it isn't. David Heinemeier Hansson, of Active Record fame, has always argued that if you are writing an application backed by a relational database you should damn well know how a relational database works .Специально для альтернативноодаренных выделено болдом и цветом... Свой вариант перевода не привожу принципиально - кое-кому практика хотя бы со словарем не помешает. МСУsphinx_mvСоотвественно, правильный (во всех смыслах) перевод этого абзаца звучит именно так: Мы должны смириться с мыслью о том, что ORM являются плохими, уродливыми и перегруженными. Соотвественно, правильный (во всех смыслах) перевод этого абзаца звучит именно так: Мы должны отказаться от мысли, что ORM плохо, уродливо или мертво. Для решения проблем имеется много различных вариантов для этого. Но прежде чем мы рассмотрим эти варианты, давайте посмотрим на эту проблему с конкретики. ... Словарь и грамматику в зубы - и марш на чердак учиться, учиться и учиться... МСУsphinx_mvОжидаемо... Говоришь блондинке "дура", а от нее в ответ "зато красивая" - но, хоть бы раз перед этим она в зеркало глянула... Ничего удивительного - блондинка скопипастила изкаверканные слова чревовещателей правды матки и гнёт тупую ламерскую линию. Обычный быдлоподход неудачника.Мы уже в курсе, что у не-ламеров обработка данных c использованием ORM выполняется в 10 раз медленнее - "ничего страшного, зато тренд" (c) МСУsphinx_mvФаулер сказал... Богард сказал... Ньюард сказал... А МСУ все еще пыркается из говна конфеты делать... С другой строны, чего еще от "золотаря информационных технологий" ожидать?!Что Фаулер сказал? Что Богард сказал? Я катаюсь пополу от твоего тугодумия.У Вас проблемы с восприятием информации, и при этом угодум - кто-то другой? МСУПочитай лучше Application Architecture Guide, над которым трудились десятки умов и свопили все знания в этот букварь, а не кривые переводы сюда пость.Дешевый ламерский бред... Для начала, Вам сюда ... Если "заблудитесь" - раздел Hystory, список самых известных книг по тематике, п.4... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 01:10 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
17-77Алексей КДля других задач. хм, интересно и для каких?Строгая типизация данных. Генерация SQL. 17-77Алексей КНет, оптимизация. все не так однозначно, ORM является абстракцией, и если в этой абстракции отсутствует проверка на ограничение длины запроса для некой БД - это будет именно костылем, чтобы исправить ситуацию, которой не должно было быть, по правильному - ORM должна сама определить по типу БД максимальную длину запроса и организовать операцию так, чтобы не превысить это значениеВы слишком многово хотите. Непонятно, причём тут проверка на максимальную длину батча, ну да ладно. :-) 17-77Алексей КДа я не про это. Странно, что приходится производить масштабные изменения данных, уже хранящихся в БД. Масштабная вставка - да, но не масштабные изменения. Впрочем, Вам виднее. так не очень понятно как вы предлагаете решить задачу в глобальном смысле? т.е. тут даже говорится о том, что средствами СУБД, внутри самой базы масштабно обновлять данные - есть плохо?Вроде как БД не умеет проверять валидность ссылок. Так что "внутри БД" не получится. 17-77ну а если надо? конкретно задача проверки ссылок URL, ссылки хранятся в базе, ссылка сегодня работает, завтра нет, надо их регулярно проверять, вопрос об адекватности требований заказчика / пользователя оставим в сторонеНу надо так надо, проблем не вижу. Да, EF не умеет делать пакетные обновления. Надо или взять другой ORM, или написать SQL вручную. Иногда можно, не так часто это приходится делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 05:50 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
sphinx_mvАлексей Кпропущено... В обоих статьях про LINQ ни слова. Почему?Потому, что LINQ непосредственного отношения к ORM не имеет.Да?! Expression Tree лежит в основе генерации SQL. Есть смысл сначала ознакомиться с теорией... sphinx_mvЭто встроенный язык запросов к объектам, реализующим на .NET (и только!) интерфейсы IEnumerable и IEnumerable<T>Таки IQueryable<T> ? Мы ведь говорим о LINQ-to-SQL а не LINQ-to-Object, не так ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 05:56 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
sphinx_mvЭто встроенный язык запросов к объектам, реализующим на .NET (и только!) интерфейсы IEnumerable и IEnumerable<T> Вот немного по теме. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 06:04 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Алексей Кsphinx_mvпропущено... Потому, что LINQ непосредственного отношения к ORM не имеет.Да?! Expression Tree лежит в основе генерации SQL. Есть смысл сначала ознакомиться с теорией... sphinx_mvЭто встроенный язык запросов к объектам, реализующим на .NET (и только!) интерфейсы IEnumerable и IEnumerable<T>Таки IQueryable<T> ? Мы ведь говорим о LINQ-to-SQL а не LINQ-to-Object, не так ли? Он не знает, что такое Expression Tree :) Он так же не понимает разницы L2S и объектного линка :) Неуч, кули с него еще взять. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 10:31 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
МСУОн не знает, что такое Expression Tree :)"Меньше знаеш - крепче спиш" (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 11:32 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Алексей КМСУОн не знает, что такое Expression Tree :)"Меньше знаеш - крепче спиш" (с) Так не спит ведь codemonkey, что-то шумит, доказывает, чушь какую-то постит с левыми переводами. Неугомонная кодирующая обезьянка? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 11:34 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Алексей Кsphinx_mvпропущено... Потому, что LINQ непосредственного отношения к ORM не имеет.Да?! Expression Tree лежит в основе генерации SQL. Есть смысл сначала ознакомиться с теорией... Может, не будете уподобляться местному "неадеквату"? "Звезды говорят" (с), что LINQ никакого непосредственного отношения к генерации SQL не имеет. Это - встроенное в платформу расширение для запросов к "in-memory" данным. Как эти данные попали "in memory" - совершенно отдельный вопрос. Алексей Кsphinx_mvЭто встроенный язык запросов к объектам, реализующим на .NET (и только!) интерфейсы IEnumerable и IEnumerable<T>Таки IQueryable<T> ? Мы ведь говорим о LINQ-to-SQL а не LINQ-to-Object, не так ли? Это ВЫ (и СЕЙЧАС ) говорите про LINQ-to-SQL, с местом которого в общей инфраструктуре LINQ можно ознакомиться здесь А вот для LINQ (и не только "-to-Object" ) таки "необходимо и достаточно" реализованных интерфейсов IEnumerable или IEnumerable<T>. И получить соотвествующие коллекции можно ЛЮБЫМ способом - в том числе не только БЕЗ использования ORM, но даже вообще без SQL-источников данных... "Хотите получить точный ответ - задавайте точный вопрос" (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 12:55 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
sphinx_mvАлексей Кпропущено... Да?! Expression Tree лежит в основе генерации SQL. Есть смысл сначала ознакомиться с теорией... Может, не будете уподобляться местному "неадеквату"? "Звезды говорят" (с), что LINQ никакого непосредственного отношения к генерации SQL не имеет. Это - встроенное в платформу расширение для запросов к "in-memory" данным. Как эти данные попали "in memory" - совершенно отдельный вопрос. Твоя дурь в безумной башке просто радует. Надень очки и читай, наконец: LINQ to ObjectsIncludes links to topics that explain how to use LINQ to Objects to access in-memory data structures LINQ to ADO.NETProvides an entry point for documentation about LINQ to DataSet, LINQ to SQL, and LINQ to Entities. LINQ to DataSet enables you to build richer query capabilities into DataSet by using the same query functionality that is available for other data sources. LINQ to SQL provides a run-time infrastructure for managing relational data as objects. LINQ to Entities enables developers to write queries against the Entity Framework conceptual model by using Visual Basic or Visual C#. Зубрить до посинения, codemonkey: http://msdn.microsoft.com/ru-ru/library/bb386976.aspx LINQ to SQLРеляционные данные отображаются в виде коллекции двумерных таблиц (отношений или плоских файлов),где общие столбцы связывают таблицы друг с другом.Для эффективного использования LINQ to SQL необходимо ознакомиться с основными принципами реляционных баз данных. В LINQ to SQL модель данных реляционной базы данных сопоставляется объектной модели, выраженной в языке программирования разработчика.При запуске приложения LINQ to SQL преобразует запросы LINQ из объектной модели в SQL и отправляет их в базу данных для выполнения. Когда база данных возвращает результаты, LINQ to SQL преобразует их обратно в объекты, с которыми можно работать на собственном языке программирования. LINQ to SQLПользователи среды Visual Studio, как правило, пользуются конструктором Реляционный конструктор объектов, который предоставляет пользовательский интерфейс для реализации многих функций LINQ to SQL. Документация, включенная в эту версию LINQ to SQL, описывает основные строительные блоки, процессы и методики, необходимые для построения приложений LINQ to SQL.Можно также поискать в библиотеке MSDN конкретные вопросы и принять участие в форуме LINQ Forum, где можно подробно обсудить со специалистами более сложные вопросы.Наконец, в техническом документе LINQ to SQL: запросы LINQ .NET для реляционных данных (на английском языке) подробно описывается технология LINQ to SQL и приводятся примеры кода на языках Visual Basic и C# http://msdn.microsoft.com/ru-ru/library/bb399398(VS.90).aspx Приступая к работе (LINQ to SQL)С помощью LINQ to SQL можно использовать технологию LINQ для доступа к базам данных SQL тем же образом, что и к коллекции в памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 13:02 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
Алексей К Лёня, мне нарвится этот чудик - ляпнул глупость, потом погуглил еще разок про LINQ, а теперь убого выкручивается из нелепой ситуации ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 13:12 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
МСУэто универсальные механизмы прям вундервафля какая-то. универсальные механизмы это конечно здорово, но совершенне универсальных механизмов. к тому же за универсальность надо платить высокую цену. С лёгкого слова Теда Ньюарда про "Вьетнам" : "легко войти и трудно выйти". особенно доставил Left Join 11179149 представил себе как это будет выглядеть с 5 left. а store procudure. а ну да, костылёк. и вообще похожая тема есть там же "ORM vs sql" ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 13:14 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
пропало словоbeg-in-erуниверсальные механизмы это конечно здорово, но жизнь совершенне универсальных механизмов. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 13:18 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
sphinx_mvАлексей Кпропущено... Да?! Expression Tree лежит в основе генерации SQL. Есть смысл сначала ознакомиться с теорией... Может, не будете уподобляться местному "неадеквату"? "Звезды говорят" (с), что LINQ никакого непосредственного отношения к генерации SQL не имеет. Это - встроенное в платформу расширение для запросов к "in-memory" данным. Как эти данные попали "in memory" - совершенно отдельный вопрос. Алексей Кпропущено... Таки IQueryable<T> ? Мы ведь говорим о LINQ-to-SQL а не LINQ-to-Object, не так ли? Это ВЫ (и СЕЙЧАС ) говорите про LINQ-to-SQL, с местом которого в общей инфраструктуре LINQ можно ознакомиться здесь А вот для LINQ (и не только "-to-Object" ) таки "необходимо и достаточно" реализованных интерфейсов IEnumerable или IEnumerable<T>. И получить соотвествующие коллекции можно ЛЮБЫМ способом - в том числе не только БЕЗ использования ORM, но даже вообще без SQL-источников данных... "Хотите получить точный ответ - задавайте точный вопрос" (с)МСУ уже ответил. Больше добавить нечего. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 13:25 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
МСУАлексей К Лёня, мне нарвится этот чудик - ляпнул глупость, потом погуглил еще разок про LINQ, а теперь убого выкручивается из нелепой ситуации Видимо коллега мало работал с дотнетом. Ему простительно. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 13:27 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
beg-in-erпропало словоbeg-in-erуниверсальные механизмы это конечно здорово, но жизнь совершенне универсальных механизмов."Жизнь" на 90% состоит из рутины, которая автоматизируется с помощью ORM в том числе. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 13:29 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
beg-in-erуниверсальные механизмы это конечно здорово, но жизнь совершенне универсальных механизмов. И что дальше? beg-in-erособенно доставил Left Join 11179149 представил себе как это будет выглядеть с 5 left. а store procudure. а ну да, костылёк. Это не просто LEFT JOIN, это LEFT JOIN с замороченной сцепкой: Код: sql 1.
Во-вторых, выглядеть с 5 объединениями на LINQ он будет вполне нормально. Тебя пугает синтаксис от его непонимания. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 13:29 |
|
Организация запросов из десктопного клиента к субд
|
|||
---|---|---|---|
#18+
beg-in-erособенно доставил Left Join 11179149 представил себе как это будет выглядеть с 5 left. а store procudure. а ну да, костылёк.Чтобы вручную не писать join-ы в EF (и не только) придуманы ассоциации. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 13:31 |
|
|
start [/forum/topic.php?fid=20&msg=38063824&tid=1405536]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 153ms |
0 / 0 |