我正在訪問通過使用LINQ to SQL自動生成的數據上下文對象。 SQL數據庫是一個SQL Server 2000框。我正在使用的類是SQL視圖。我有一個說法是與此類似:LINQ,Skip,OrderBy和SQL Server 2000
query = _context.OrderDetails
.Where(w => w.Product == "TEST")
.OrderBy(o => o.DateCompleted)
.ThenBy(t => t.LineItemId)
.Skip(startRowIndex)
.Take(maximumRows);
然而,當跳過的價值是什麼,但0,我得到這個錯誤:
此提供程序支持跳過()僅在訂購查詢返回包含所有標識列的實體或投影,其中查詢是單表(非連接)查詢,或者是Distinct,Except,Intersect或Union(不是Concat)操作。
我認爲DateCompleted和LineItemId之間的行將是唯一的,但隨後會再次彈出。這是否與這是一種觀點有關?如果是這樣,我怎樣才能繞過這個問題?
我認爲這工作。但不知道。好建議! – 2009-11-17 22:11:50
這確實奏效。尼斯「破解」強制在LINQ查詢中使用Distinct()。 – 2009-11-18 20:00:32