Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Join in Linq / 4 сообщений из 4, страница 1 из 1
28.12.2010, 12:59
    #37038839
Lenutza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join in Linq
Помогите пожалуйста написать в 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
29.12.2010, 11:23
    #37040390
Lenutza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join in Linq
Неужели никто не сталкивался?
...
Рейтинг: 0 / 0
29.12.2010, 12:49
    #37040611
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join in Linq
Как вариант:

Код: 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
02.01.2011, 12:57
    #37044358
Lenutza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join in Linq
Спасибо
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Join in Linq / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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