我有一個C#項目Linq查詢中的where子句的重要位置嗎?
var query = from p in db.Posts
join a in db.Author on p.Author equals a
join u in db.Users on p.PostedBy equals u
where p.IsActive.Equals(true)
orderby p.PostedDate descending
select new ViewModel
{
...
};
如果我提出where p.IsActive.Equals(true)
附近from p in db.Posts
此LINQ查詢,就像
var query = from p in db.Posts
where p.IsActive.Equals(true) //Moved
join a in db.Author on p.Author equals a
join u in db.Users on p.PostedBy equals u
orderby p.PostedDate descending
select new ViewModel
{
...
};
將使其對查詢的性能有什麼區別?
這是Linq-to-SQL,對吧? – 2012-07-22 17:21:11
這將取決於查詢提供程序。這肯定會影響到LINQ to Objects,因爲如果您稍後在查詢中進行了篩選,您可能會加入的項數可能更少。 – 2012-07-22 17:24:09
@MareInfinitus我正在使用sql-server 2008數據庫,所以它的Linq-to-SQL我猜... – Nalaka526 2012-07-22 17:28:24