2012-06-08 149 views
0

我試圖加入幾桌連同下面的代碼加入查詢返回空結果

var result = (from n in db.tbl_NAWs 
       join s in db.Status on n.Status equals s.StatusID 
       join a in db.tbl_Afdelings on n.Afdeling equals a.ID_Afdeling 
       join l in db.Locaties on n.Locatie equals l.LocatieID 
       select new NAW_Dto() 
       { 
        ClassNR = n.ClassNr, 
        Status = s.Beschrijving, 
        Client = n.Aanspreekvorm, 
        Locatie = l.Naam, 
        Afdeling = a.Afdeling, 
        KamerNr = n.Kamernummer 
       }).ToList(); 

但它一直在返回空,任何想法?

+1

我們無法猜測你的類/數據庫結構,不知道你的數據。所以... –

回答

0

嘗試是這樣的....

var result = (from n in db.tbl_NAWs 
       join s in db.Status on n.Status equals s.StatusID 
       join a in db.tbl_Afdelings on n.Afdeling equals a.ID_Afdeling 
       join l in db.Locaties on n.Locatie equals l.LocatieID 
       select new 
       { 
        ClassNR = n.ClassNr, 
        Status = s.Beschrijving, 
        Client = n.Aanspreekvorm, 
        Locatie = l.Naam, 
        Afdeling = a.Afdeling, 
        KamerNr = n.Kamernummer 
       }).ToList(); 
+1

你能突出它的區別嗎?我只能看到你已經刪除了類型名稱,並且我不確定爲什麼會改變事物 - 只要有一個默認的構造函數和屬性來填充他的其他類應該沒問題。 – Rup

+0

你是對的_Rup_。我們還必須考慮_Jakub Konecki_如何回答。 – Raaghav

0

運行Sql Profiler,檢查正在執行的實際SQL查詢是什麼,並查看您的數據。

不能說明爲什麼你沒有看到你的數據有空結果集。您的外鍵是否按照您認爲的方式設置?

嘗試執行此查詢時刪除了一些連接 - 您將能夠以這種方式查找違規連接。

0

分解成TSQL和SSMS 運行它刪除註釋一次一個,看看哪些不匹配

select n.ClassNr 
-- , s.Beschrijving 
-- , a.Afdeling 
-- , l.Naam 
from tbl_NAWs as n 
-- join Status as s on n.Status equals s.StatusID 
-- join tbl_Afdelings as a on n.Afdeling equals a.ID_Afdeling 
-- join Locaties as l on n.Locatie equals l.LocatieID