2011-11-24 45 views

回答

2

你可以這樣做一個連接,像這樣:

_rdsqlconn.Tags 
    .Where(t => t.TagWord == tag) 
    .Join(_rdsqlconn.Posts, t => t.PostId, p => p.PostId, (t, p) => p) 
    .Where(p => p.PostIsPublished == true) 
    .OrderByDescending(p => p.PostDatePublished) 

但你做的是正確映射你在LINQ到SQL設計表和關係,以及那麼你可以使用

_rdsqlconn.Posts.Where(p => p.PostIsPublished && p.Tags.Any(t => t.TagWord == tag)) 
    .OrderByDescending(p => p.PostDatePublished) 

如果你的數據庫中的文章和標籤之間有一個外鍵,那麼你將能夠做到這一點。它更簡潔的代碼,並刪除不必要的Join操作符。

相關問題