powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / А чем так хорош linq в сравнении с обычным sql
25 сообщений из 224, страница 2 из 9
А чем так хорош linq в сравнении с обычным sql
    #39630543
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не считая платных.
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39630555
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёлки палки... Не ожидал что будет такая бурная реакция. Тем не менее из сказанного выше я понял следующее: ef под мою задачу не подходит. Код запроса к сожалению не покажу, комп не подключен к инету, а переписывать долго. Приложение кстати на моих любимых формах пробую сделать.
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39630562
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123skyANAпропущено...

ну к примеру Persistence Ignorance
авторPersistence Ignorance
При использовании ORM важно поддерживать хорошую степерь изоляции между доменной логикой и логикой сохранения данных в БД (Persistence Ignorance).
вот ты и сам, так же как и я, всё об этом))
Да, при использовании ОРМ важно следовать этому принципу.
Но сам-то принцип не про использование ОРМ, а про то, что классы, моделирующие бизнес-домен, не должны зависеть от того как и куда сохраняются.

Ферштейн?
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39630566
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAДа, при использовании ОРМ важно следовать этому принципу.

Строго говоря, это не совсем верно. Зависит от выбранной парадигмы разработки и выбранной ORM. Entity Framework изо всех сил старается соблюдать принцип должной изоляции, и поддерживает понятие Сущности из DDD, но далеко на всё.

Dapper и другие микро-орм являются не более чем мапперами результата запроса в POCO, и в обратную сторону POCO разбирается на параметры запроса. Т.е. ни о какой изоляции здесь даже в принципе говорить не приходится, а если и требовать, то городить свой слой абстрации и забивать гвозди в крышку :)
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39630572
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

POCO (Plain Old CLR Objects) удовлетворяют принципу Persistence Ignorance, так как не обременены наследованием и атрибутами типа data annotations, или BSON, JSON, XML serialization.
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39630576
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и как обычно степень разная в зависимости от задачи. Можно и свой слой абстракций нагородить
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39630577
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttPetro123вам спорщикам, в википедию надо.
Удачи!
https://ru.wikipedia.org/wiki/ADO.NET_Entity_Framework


Entity Framework 6

Entity Framework Core

Dapper

NHibernate

ServiceStack.OrmLite

Massive

LINQ to DB

MicroLite ORM

PetaPoco

NPoco

Limebean

LLBLGen

Insight.Database

DbExtensions

Все как в java.
Первая четверка есть, а остальные можно сказать в белой книге экзотике.
Чё мы тут "бузотерили" мне непонятно.
Пусть ТС топик закрывает.
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39630647
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13,

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

LINQ можно использовать для простых запросов select/insert/update/delete
или заполнения доменных сущностей из DDD, но там тоже могут быть проблемы, 20 include в EF тормозят просто безбожно где-то на этапе компиляции запроса

а вот как только в дело вступают вложенные запросы, постраничная выборка или специализированные функции самой СУБД, например (NO/***)LOCK для MS SQL или встроенные функции работы с иерархиями в Oracle - то туши свет бросай гранату
проще и лучше написать руками нативный sql
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39630704
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-7720 include в EF тормозят просто безбожно где-то на этапе компиляции запроса

Проекции, маппинг на вьюхи/процедуры. Тогда не торозмит. Вообще INCLUDE зло, отрывать за это надо.
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39630705
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77а вот как только в дело вступают вложенные запросы, постраничная выборка или специализированные функции самой СУБД, например (NO/***)LOCK для MS SQL или встроенные функции работы с иерархиями в Oracle - то туши свет бросай гранату
проще и лучше написать руками нативный sql

Маппинг на вьюхи/процедуры. Ничего не бывает бесплатно и запростотак.
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39631251
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте сделаем уточнение: в БД ничего добавлять и изменять нельзя! Поэтому вариант типа создай вьюху отпадает. Чуть выше я практически увидел ответ на мой вопрос. Получается для сложного запроса LINQ бесполезен. Да и синтаксис мне его не нравиться. В книгах я видел только idbcommand для sql-запросов. Больше ничего лучше нет?
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39631252
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13,

критерии оценки у Вас какие?

Внутри всегда idbcommand, нет никакой магии
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39631262
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13Давайте сделаем уточнение: в БД ничего добавлять и изменять нельзя! Поэтому вариант типа создай вьюху отпадает. Чуть выше я практически увидел ответ на мой вопрос. Получается для сложного запроса LINQ бесполезен. Да и синтаксис мне его не нравиться. В книгах я видел только idbcommand для sql-запросов. Больше ничего лучше нет?

Еканый бабай. LINQ не является средством для написания SQL-я. Он для того, чтобы делать запросы к объектам. Которые могли бы транслироваться в SQL, но только в том случае, если у вас база данных является хранилищем объектов, т.е. проектировалась таким образом.

Если случай тяжёлый, "БД низзя менять", то пишите руками SQL, потом засовывайте результат либо в dynamic, либо пытайтесь в какие-то классы присунуть. Вообще при чём тут тогда EF?
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39631265
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13В книгах я видел только idbcommand для sql-запросов. Больше ничего лучше нет?

Пока не ясно от чёго вас лечить, таблеток не дадим
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39631300
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13Больше ничего лучше нет?вы никогда не освоите шарп даже на джуна с такими целями.
Устраивает?
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39631310
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13Получается для сложного запроса LINQ бесполезен.да.
Но я не вижу смысла говорить про чистый linq не в составе ОРМ.
Это как чистый неразведенный спирт.

dartveider13Да и синтаксис мне его не нравитьсясм.выше
Вам в дельфи. Там ОРМ просто не нужен.
Ну или тут работать как там.
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39631367
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да согласен, я был неправ обзывая LINQ средством создания запросов. Ну не вкурил сразу что он явялется и средством доступа к разнообразным данным. Да, в чистом виде использовать SQL на клиенте уже не гуд. Как вариант, если менять БД нельзя, то можно создать свою БД с блэкджеком и шлюхами с хранимыми процедурами, вьюхами и т.п., которая может подключаться к другим БД. Во вьюхах делать сложные запросы. А в шарпе уже делать модели из этой БД (EF, LINQ to SQL и тд.). Вот так правильно?
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39631372
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А по SQL-запросам вычитал в доках про класс System.Data.Linq, а в нем ExecuteQuery
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39631375
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13Да, в чистом виде использовать SQL на клиенте уже не гуднет.
Что в java что в шарп можно писать если у вас dataSet.
Он на sql работает.
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39631377
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13Вот так правильно?
Нет.
Делают так:
- где БЛ?
Если в аппСервере и вот такая
var User = new контекст.UserТабла
User.Имя =
контекст.Сохранить();
То берете helloworld EF и не парьте мозги.
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39631378
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123, мне действительно сложно перейти на принципиально новую парадигму. Там в делфи я привык - кинул коннекшн, датасет, запрос, грид. Все связал - вывел данные. Да, там ничего более не надо. Но я действительно хочу освоить шарп.
Сложность еще заключается в том, что у меня нет хорошего исходника - примера для работы с БД. По исходникам как я заметил мне лучше понимается. Там же где в исходниках мне непонятно, там я уже лезу в гугл, доку и прочее.
Тут же я пытаюсь освоить Шарп с использованием 2-х книжек - Троелсен и Мак-Дональда. Плюс т е инета нет на рабочей тачке, загрузил вчера в студию локальную документацию. Там я и нашел про ExecuteQuery.
Сложность осваивания и в том, что это ооочень большой массив информации с разными технологиями. И мне хочется именно прийти к пониманию того, что я пишу.
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39631383
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13А по SQL-запросам вычитал в доках про класс System.Data.Linq, а в нем ExecuteQueryесли sql и хранимки то зачем вам linq?
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39631384
dartveider13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123, БД лежит на сервере. Создана была через MS SQL Server Management Studio
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39631387
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13хочу освоить шарп.
21344629 и не плакать.
Что тут две страницы обсуждать, когда вы уже пример должны делать.
...
Рейтинг: 0 / 0
А чем так хорош linq в сравнении с обычным sql
    #39631389
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dartveider13Petro123, БД лежит на сервере. Создана была через MS SQL Server Management Studioне понял вопрос.
ДЕЛАЙТЕ ПРИМЕР С ef!
...
Рейтинг: 0 / 0
25 сообщений из 224, страница 2 из 9
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / А чем так хорош linq в сравнении с обычным sql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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