Форум программистов, компьютерный форум, киберфорум
Наши страницы
LINQ
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
jcp
100 / 22 / 12
Регистрация: 12.12.2013
Сообщений: 200
Записей в блоге: 1
Завершенные тесты: 2
1

Перевести SQL запрос в LINQ

13.05.2015, 15:44. Просмотров 1159. Ответов 6
Метки нет (Все метки)

Доброе время суток!
Вот до этого времени не сталкивался с Join в LINQ.
Помогите, пожалуйста, перевести SQL запрос в LINQ
SQL
1
2
3
4
5
6
7
SELECT DISTINCT W.ID, W.V_OFFICE, W.R_OFFICE, W.DATE_CREATE, W.NOTES, W.STAKEHOLDER, W.CAUSE, W.V_INN, W.R_INN,
                W.ID_KEEPER
FROM DET_WAYBILL DW
INNER JOIN WAYBILL W ON DW.ID_WAYBILL = W.ID
WHERE DW.ID_ORDER IN (:NUMBER) AND
      W.DATE_CREATE >= :PREVIOUSDATE AND
      W.DATE_CREATE <= :CURRENTDATE

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2015, 15:44
Ответы с готовыми решениями:

Перевести запрос с SQL в LINQ
Доброго времени суток, требуется помощь в переводе запроса с SQL в LINQ, кто...

Перевести SQL-запрос в LINQ
Ребят помогите понять как будет такой запрос выглядить на linq: SELECT...

Перевести SQL в LINQ
Уважаемые, как перевести сие выражение: SELECT ShippingAddressID, Address...

Перевести SQL в LINQ
Необходимо перевести это выражение: SELECT...

Переписать SQL запрос в LINQ запрос
День добрый всем. Подскажите, пожалуйста, как можно преобразовать запрос: ...

6
Metall_Version
2119 / 1256 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
Завершенные тесты: 2
13.05.2015, 16:11 2
Лучший ответ Сообщение было отмечено jcp как решение

Решение

jcp, примерно так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
            var r = DW.Join(W, dw => dw.ID_WAYBILL, y => y.ID, (dw, w) => 
                new { w.ID,
                      dw.ID_ORDER,
                      w.V_OFFICE,
                      w.R_OFFICE,
                      w.DATE_CREATE,
                      w.NOTES,
                      w.STAKEHOLDER,
                      w.CAUSE,
                      w.V_INN,
                      w.R_INN,
                      w.ID_KEEPER
                }).Where(x => number.Any(y=> y == x.ID_ORDER) 
                    && x.DATE_CREATE >= PREVIOUSDATE 
                    && x.DATE_CREATE <= CURRENTDATE)
                .Distinct();
1
jcp
100 / 22 / 12
Регистрация: 12.12.2013
Сообщений: 200
Записей в блоге: 1
Завершенные тесты: 2
13.05.2015, 16:26  [ТС] 3
Цитата Сообщение от Metall_Version Посмотреть сообщение
примерно так
А если этот кусок
SQL
1
WHERE DW.ID_ORDER IN (:NUMBER)
через
SQL
1
WHERE DW.ID_ORDER LIKE '%14123%'
?
Как реализуется LIKE (sql) в LINQ?
0
Metall_Version
2119 / 1256 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
Завершенные тесты: 2
13.05.2015, 16:29 4
Цитата Сообщение от jcp Посмотреть сообщение
Как реализуется LIKE (sql) в LINQ?
в Linq ни как, просто указывается предикат
можно через регулярку, а можно так
C#
1
DW.ID_ORDER.Contains("14123")
Linq это же не SQL, и близко на него не похож, разве что на запрос SELECT из SQL он похож.
1
jcp
100 / 22 / 12
Регистрация: 12.12.2013
Сообщений: 200
Записей в блоге: 1
Завершенные тесты: 2
13.05.2015, 17:06  [ТС] 5
Цитата Сообщение от Metall_Version Посмотреть сообщение
Linq это же не SQL, и близко на него не похож, разве что на запрос SELECT из SQL он похож.
Это я понимаю. Но добраться в БД нет возможности поэтому приходится извращаться с помощью кода. Только вот засада есть с :NUMBER и :ID_ORDER - они string, и поэтому оператор == ошибочен.
Кликните здесь для просмотра всего текста
Перевести SQL запрос в LINQ
0
Metall_Version
2119 / 1256 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
Завершенные тесты: 2
13.05.2015, 17:14 6
я просто не верно написал.. уже забыл, что значит двоеточие ":NUMBER" ?

если нужно проверить равенство number и x.ID_ORDER то так

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var r = DW.Join(W, dw => dw.ID_WAYBILL, y => y.ID, (dw, w) => 
                new { w.ID,
                      dw.ID_ORDER,
                      w.V_OFFICE,
                      w.R_OFFICE,
                      w.DATE_CREATE,
                      w.NOTES,
                      w.STAKEHOLDER,
                      w.CAUSE,
                      w.V_INN,
                      w.R_INN,
                      w.ID_KEEPER
                }).Where(x => number == x.ID_ORDER
                    && x.DATE_CREATE >= PREVIOUSDATE 
                    && x.DATE_CREATE <= CURRENTDATE)
                .Distinct();
0
jcp
100 / 22 / 12
Регистрация: 12.12.2013
Сообщений: 200
Записей в блоге: 1
Завершенные тесты: 2
19.05.2015, 15:33  [ТС] 7
Кому интересно то мне хватило такого
C#
1
2
3
4
var w = new ObservableCollection<WAYBILLCAP>(P.WAYBILLCAPs.Join(P.WAYBILLPARTs, m => m.ID, d => d.WAYBILLID,
                    (m, d) => new { m, d })
                    .Where(@t => @t.d.ORDERNUMBER.StartsWith(OrderNumber) && @t.m.DATE_CREATE >= PreviousDate &&
                                 @t.m.DATE_CREATE <= CurrentDate).Select(@t => @t.m));
0
19.05.2015, 15:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2015, 15:33

SQL запрос в LINQ
Я не понимаю как перобразовать такой SQL-запрос для MS SQL SELECT * FROM...

Переписать запрос SQL на LINQ
всем доброго времени суток! помогите написать запрос на LINQ вот он на MS...

Как будет выглядеть SQL запрос в LINQ?
SELECT .OrdCount, .OrdInDate, Zak.ZakName FROM Zak INNER JOIN ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru