2009-07-17 49 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