2011-11-24 85 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操作符。

相关问题