Linq to SQL с большим количеством условий на одно соединение - PullRequest
0 голосов
/ 18 октября 2011

Я новичок в Linq to SQL и пытаюсь преобразовать этот SQL в Linq.Не могли бы вы помочь мне.

SELECT *
FROM [dbo].[tblTest]
INNER JOIN [dbo].[tblStationTest] ON [tblTest].[id] = [tblStationTest].[Test_id]
INNER JOIN [dbo].[tblTestType] ON [tblTest].[TestType_id] = [tblTestType].[id]
LEFT OUTER JOIN [dbo].[tblTestOrder] ON [tblTest].[id] = [tblTestOrder].[Test_id] 
              AND ([tblTestOrder].[TestOrderList_id] = 1)
WHERE ([Station_id] = 1)

Что вызывает у меня проблему, это условие И ([TestOrderList_id] = 1)

Это условие не может бытьв Where clase, потому что это отменит эффект Left Join

Спасибо kurin

1 Ответ

0 голосов
/ 18 октября 2011

вы можете попробовать что-то вроде

from test in db.tblTest
    join stationTest in db.tblStationTest on test.id equals stationTest.Test_id
    join testType in db.tblTestType on test.TestType_id equals testType.id
    join testOrder in db.tblTestOrder on new{Key1  = test.id, Key2= 1} equals new{Key1 = testOrder.Test_id, Key2 = testOrder.TestOrderList_id} into tempOrders
   from t in tempOrders.DefaultIfEmpty()
   select new{test.Test_id, testType.something, t.somethingelse}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...