c# - Linq 中的 Sql IN 子句等效

标签 c# linq entity-framework compiler-errors linq-to-entities

我想在 linq 的 cluase 中使用 sql,因为我尝试过包含但它显示错误。我的代码是..

 var allId = new int[] { 31, 32, 33 };
 var libraryList = from c in db.COURSELIBRARies
                   join cc in db.COURSECATEGORYTAGGINGs on c.LIBITEMID equals cc.COURSEID
                   where allId.Contains(cc.CATEGORYID) // here error is showing.
                   select new Library { Id = c.LIBITEMID, Name = c.GROUPNAME, Desc = c.DESCRIPTION, logo = c.LOGO, CategoryId = cc.CATEGORYID };
错误是:

'int[]' does not contain a definition for 'Contains' and the best extension method overload 'System.Linq.Queryable.Contains<TSource>(System.Linq.IQueryable<TSource>, TSource)' has some invalid arguments

Instance argument: cannot convert from 'int[]' to 'System.Linq.IQueryable<int?>'

最佳答案

你包括了吗?

using System.Linq;

?

另一个可能的原因是您传递给 Contains() 的值不是 INT。尝试转换:where allId.Contains((int)cc.CATEGORYID)

关于c# - Linq 中的 Sql IN 子句等效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28470304/

相关文章:

c# - DurableClient 和 OrchestrationTrigger 无法在 .NET 7 Azure Function 中使用

xml - 将多个 xml 元素值添加到列表中

entity-framework - Code First Entity Framework 和 SQL Server Data Tools 数据库项目的开发过程

asp.net-mvc - 处理 Entity Framework v1 中的查找表

C# WebApi Odata - EF 不过滤

c# - 如何在类型上使用 switch-case?

c# - 从 Active Directory 检索用户名

c# - OrderByDescending() 根据 MSDN,这到底是什么意思?

c# - 使用 LINQ 在 C# 中使用 MasterMind 评分算法

c# - Python 等同于 C# 的 .Select?