Subsonic 3 - 它是否支持使用IEnumerable.Contains进行查询?

时间:2009-07-17 10:04:40

标签: c# subsonic subsonic3

如果不支持“包含”方法,则会失败并显示错误。

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();

1 个答案:

答案 0 :(得分:4)

不了解有关Subsonic / Subsonic 3的任何信息我建议您使用Any(或Contains)扩展方法,看看它是否受支持。

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