powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Join in Linq
4 сообщений из 4, страница 1 из 1
Join in Linq
    #37038839
Lenutza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите пожалуйста написать в Linq следующий запрос:

select a, b, c, d
from tbl1 left outer join tbl2
on (tbl1.first_amount = tbl2.first_amount and tbl1.second_amount = tbl1.second_amount )
or (tbl1.first_amount = tbl2.second_amount and tbl1.second_amount = tbl1.first_amount)
and datediff('day', tbl1.trade_date, tbl2.trade_date) = 0

Не знаю как выразить OR в запросе и datediff.


Спасибо
...
Рейтинг: 0 / 0
Join in Linq
    #37040390
Lenutza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неужели никто не сталкивался?
...
Рейтинг: 0 / 0
Join in Linq
    #37040611
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
var list = from t in db.tbl1s
            join t0 in db.tbl2s
                    on new 
                    { 
                        t.first_amount, 
                        t.second_amount, 
                        Column1 = t.first_amount, 
                        Column2 = t.second_amount, 
                        Column3 = (int?)t.trade_date.Value.Day,
                        Column4 = (int?)t.trade_date.Value.Month, 
                        Column5 = (int?)t.trade_date.Value.Year 
                    }
                equals new 
                {
                    t0.first_amount, 
                    t0.second_amount,
                    Column1 = t0.second_amount,
                    Column2 = t0.first_amount, 
                    Column3 = (int?)t0.trade_date.Value.Day, 
                    Column4 = (int?)t0.trade_date.Value.Month, 
                    Column5 = (int?)t0.trade_date.Value.Year } 
            into t0_join

            from t0 in t0_join.DefaultIfEmpty()

            select new
            {
                Column1 = a,
                Column2 = b,
                Column3 = c,
                Column4 = d,
            };
...
Рейтинг: 0 / 0
Join in Linq
    #37044358
Lenutza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Join in Linq
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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