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

发布于 2024-07-27 17:29:37 字数 601 浏览 6 评论 0原文

此操作失败并出现错误,不支持方法“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();

This fails with an error with the method "Contains" is not supported.

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

Seems odd so what's the alternative approach?

This doesn't work either:

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

This does but is it the recommended approach:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浪漫之都 2024-08-03 17:29:37

对 Subsonic/Subsonic 3 不了解,我建议您使用 任何(或Contains) 扩展方法并查看它是否受支持。

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

Not knowing anything about Subsonic/Subsonic 3 I suggest that you use the Any (or Contains) extension method and see if it's supported.

List<int> usedID= new List<int> { 1, 2, 3 };
var f = WebPageContent.Find(x => !usedID.Any( e => e == x.PageID));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文