2009-07-17 43 views
2

這將失敗,並且不支持方法「包含」的錯誤。Subsonic 3 - 它是否支持使用IEnumerable.Contains查詢?

List<int> usedID= new List<int> { 1, 2, 3 }; 
var f = WebPageContent.Find(x => !usedID.Contains(x.PageID)); 

似乎很奇怪,所以有什麼替代方法?

這不起作用或者:

var dd = from i in WebPageContent.All() 
     where !usedID.Contains(i.PageID) 
     select i; 

這的確但它是推薦的方法:

var table = new WebPageContentTable(_db.DataProvider); 
var g = new SubSonic.Query.Select() 
      .From(table) 
      .Where(table.ID) 
      .In(usedID) 
      .Execute(); 

回答

4

不知道有關亞音速/亞音速什麼3,我建議你使用Any(或Contains)擴展方法,看看它是否支持。

List<int> usedID= new List<int> { 1, 2, 3 }; 
var f = WebPageContent.Find(x => !usedID.Any(e => e == x.PageID)); 
+0

你達人,謝謝! – Jon 2009-07-17 11:03:36