簡體   English   中英

LINQ中的SQL IN子句等效

[英]Sql IN Clause equivalent in Linq

我想在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 []'不包含'Contains'的定義,最佳擴展方法重載'System.Linq.Queryable.Contains<TSource>(System.Linq.IQueryable<TSource>, TSource)'具有一些無效的參數

實例參數:無法從'int[]'轉換為'System.Linq.IQueryable<int?>'

你包括了嗎?

using System.Linq;

另一個可能的原因是您要傳遞到Contains()的值不是INT。 嘗試投放它: where allId.Contains((int)cc.CATEGORYID)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM