Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9   вперед  Ctrl      все
 А чем так хорош linq в сравнении с обычным sql  [new]
dartveider13
Member

Откуда: Омск
Сообщений: 600
Доброго времени суток господа. Продолжаю осваивать с# с его кучей фич. Появилась у меня тривиальная задача: Есть Бд, к ней надо написать запрос, вывести его в грид и отмеченные галочкой записи в гриде экспортировать в Эксель. Вроде все просто. У меня есть похожая прога на Делфи, только она у меня xml-ки делает.
Вопрос вот в чем: запрос на выборку я сделал на t-sql, все таки скуль сервер. В запросе у меня получилось 2 вложенных подзапроса в разделе select, несколько join как полных так и левых, плюс конструкция outer apppy. Сделал небольшую модель ef, т к пока это самый на мой взгляд простой способ подключения плюс все книжки наперебой твердят что это самая круть. Но в них особо ничего не сказано про простой sql, все время упор делается на linq. А там запроса сложнее select * from customers я не встретил. По большому счету я пока не оценил смысл linq, но увидел что можно сделать что то типа запроса db.database.sqlquery. возможно я что то и не то нашёл в книгах про простой скуль вообще мало инофо, подскажите как работать в связке ef + sql
15 апр 18, 20:43    [21341107]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
Dima T
Member

Откуда:
Сообщений: 12233
LINQ
15 апр 18, 20:54    [21341120]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
Dima T
Member

Откуда:
Сообщений: 12233
Ерунда какая-то запостилась. LINQ это уровень клиента, что там на сервере это совсем другое и сравнивать не надо.
15 апр 18, 21:01    [21341126]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 33357
dartveider13
Делфи

проблема всех кто приходит с дельфи в Java и C# это непонимание другой парадигмы написания приложений. На ОРМ.
dartveider13
подскажите как работать в связке ef + sql

без SQL.
Вот так:
var User = new контекст.UserТабла
User.Имя = 
контекст.Сохранить();

PS
Ваша задача не подходит под EF.
15 апр 18, 21:38    [21341164]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
hVostt
Member

Откуда:
Сообщений: 13955
dartveider13,

LINQ не является заменой SQL, да и никогда не позиционировался таким образом.

Сложные хитровыклеванные SQL с разными моделями соединения не призваны решаться с помощью LINQ, это либо плохая нормализация, либо запросы являются отчётными. LINQ нужен для выбора объектов, и проекций. SQL выбирает что угодно, что выходит за рамки концепции запросов к объектам.

Всё тоже самое, что вы делали на своих делфях делается ровно таким же образом через ADO.NET DataSet/DataTable.

В EF сложные запросы могут решаться либо через вьюхи, либо через процедуры. Но как уже говорилось, необходимость городит хрен пойми какие запросы, это часто плохая нормализация, и всего то.
15 апр 18, 22:05    [21341186]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
hVostt
Member

Откуда:
Сообщений: 13955
Petro123
проблема всех кто приходит с дельфи в Java и C# это непонимание другой парадигмы написания приложений. На ОРМ.


Не гони. На C# с данными можно работать абсолютно точно так же, как и в допотопные времена.
15 апр 18, 22:05    [21341188]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 33357
hVostt
На C# с данными можно работать абсолютно точно так же, как и в допотопные времена.

можно писать как на дельфи в Java и в C#.
В Java это пол процента на SQL_ru.
Чел вроде о новом в шарп спрашивает.
15 апр 18, 22:26    [21341201]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
hVostt
Member

Откуда:
Сообщений: 13955
Petro123
можно писать как на дельфи в Java и в C#.
В Java это пол процента на SQL_ru.
Чел вроде о новом в шарп спрашивает.


Так и что, свет клином на EF в C# сошёлся?
15 апр 18, 22:57    [21341230]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 33357
hVostt,
нет. Ты что-то пытаешься поспорить, а предмета спора нету).
Выше я написал что EF не подходит под его задачу.
15 апр 18, 23:07    [21341248]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 5675
Dima T
Ерунда какая-то запостилась. LINQ это уровень клиента, что там на сервере это совсем другое и сравнивать не надо.
Как раз LINQ это попытка упростить классическую алгебру SQL до языка клиента.

Получается не очень, или даже хуже.

Как в двойном переводе с русского на английский через промпт....
15 апр 18, 23:44    [21341305]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 5675
На всякий напомню, что SQL это попытка сделать математический язык запросов понятным обычному юзеру. "Ужачная"
15 апр 18, 23:49    [21341312]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 33357
Siemargl
Получается не очень, или даже хуже.

выше написали что их нельзя сравнивать в терминах хуже\лучше.
Как можно сравнивать переменные уровня метода и уровня класса?
16 апр 18, 00:04    [21341320]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 24739
Petro123
проблема всех кто приходит с дельфи в Java и C# это непонимание другой парадигмы написания приложений. На ОРМ.

Что же ты так любишь везде про ОРМ-то вставить? Свет клином что-ли для тебя на ОРМ сошёлся?
Если данные лежат не в реляционной БД, то парадигме твоей капут, так что-ли?
16 апр 18, 00:11    [21341326]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 33357
skyANA
то парадигме твоей

перечисли свои парадигмы
16 апр 18, 00:20    [21341333]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 33357
skyANA,
выше для тебя даже код написан.
Но тебя в сторону тянет.
16 апр 18, 00:21    [21341334]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 24739
Petro123
skyANA
то парадигме твоей

перечисли свои парадигмы

ну к примеру Persistence Ignorance
16 апр 18, 00:24    [21341335]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 24739
Petro123
skyANA,
выше для тебя даже код написан.
Но тебя в сторону тянет.

Толку от твоего кода, если данные к примеру получаются запросом от стороннего сервиса. Иди из Redis, MongoDB.
Какая такая UserТабла может быть в этом случае?
16 апр 18, 00:26    [21341337]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
hVostt
Member

Откуда:
Сообщений: 13955
Petro123
hVostt,
нет. Ты что-то пытаешься поспорить, а предмета спора нету).
Выше я написал что EF не подходит под его задачу.


Слишком мало информации для того, чтобы сказать «не подходит».
Конечно, если человеку интересно писать SQL-и, а не решать практические задачи, то ему больше подойдёт позиция BI, разработчика баз данных, а не приложений. Но пока не будет приведена реальная задача, рассуждать можно до посинения.

А пихать ORM подразумевая EF через каждый пост прекращай. В .NET есть дофига ORM-ов, прекрасно работающих с написанием и генерацией SQLю
16 апр 18, 00:33    [21341343]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 24739
Парадигма написания приложений на ОРМ для меня значит, что основополагающим решением при написании приложения становится ОРМ.
Это выходит приложение только и делает, что отображает таблицы БД на объекты
16 апр 18, 00:35    [21341344]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 33357
skyANA
Petro123
пропущено...

перечисли свои парадигмы

ну к примеру Persistence Ignorance

автор
Persistence Ignorance
При использовании ORM важно поддерживать хорошую степерь изоляции между доменной логикой и логикой сохранения данных в БД (Persistence Ignorance).

вот ты и сам, так же как и я, всё об этом))
16 апр 18, 00:39    [21341347]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 33357
hVostt
Слишком мало информации для того, чтобы сказать «не подходит».

да. Я сделал вывод по тому ТЗ что он написал.
hVostt
А пихать ORM подразумевая EF через каждый пост прекращай.

тебя слова клиент-сервер не коробят?
Так вот, EF это реализация ОРМ.
16 апр 18, 00:43    [21341348]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 33357
hVostt
В .NET есть дофига ORM-ов,

тогда что вы испугались этого слова?
Хотите чтобы он в шарпе писал как в дельфи?
Или чтобы писал на EF, но не произносил что это ОРМ?
...
В любом коде нужно уметь находит паттерны.
Это вопрос на собеседованиях кстати.
16 апр 18, 00:47    [21341351]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 33357
вам спорщикам, в википедию надо.
Удачи!
https://ru.wikipedia.org/wiki/ADO.NET_Entity_Framework
16 апр 18, 00:57    [21341355]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
hVostt
Member

Откуда:
Сообщений: 13955
Petro123
тебя слова клиент-сервер не коробят?
Так вот, EF это реализация ОРМ.


Dapper тоже ORM, но там SQL руками пишут.


Petro123
тогда что вы испугались этого слова?
Хотите чтобы он в шарпе писал как в дельфи?
Или чтобы писал на EF, но не произносил что это ОРМ?


Никто ничего не пугался.
Это ты сам придумал.
Опять сам что-то придумал.
16 апр 18, 01:21    [21341358]     Ответить | Цитировать Сообщить модератору
 Re: А чем так хорош linq в сравнении с обычным sql  [new]
hVostt
Member

Откуда:
Сообщений: 13955
Petro123
вам спорщикам, в википедию надо.
Удачи!
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
  • 16 апр 18, 01:24    [21341359]     Ответить | Цитировать Сообщить модератору
    Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9   вперед  Ctrl      все
    Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить