C# linq表达式中的In子句

C# linq表达式中的In子句,c#,.net,entity-framework,linq,C#,.net,Entity Framework,Linq,我正在开发一个在线测试应用程序,其中有两个表category和subCategory,我想在category和subCategory的帮助下从中选择一些问题。类似于(问题1)中的类别ID和(1,2,3,4)中的子类别ID 我正在获取要在查询中传递的子类别列表 int[] subCategoryForQuestions=new int[]{1,2,3,4}; var TestDataList = coreDbContext.SolutionMasters

我正在开发一个在线测试应用程序,其中有两个表category和subCategory,我想在category和subCategory的帮助下从中选择一些问题。类似于(问题1)中的类别ID和(1,2,3,4)中的子类别ID

我正在获取要在查询中传递的子类别列表

int[] subCategoryForQuestions=new int[]{1,2,3,4};

var TestDataList = coreDbContext.SolutionMasters
                       .Where(x => x.CategoryID == categoryID
                                   && x.DifficultyId == questionLevel
                                   && subCategoryForQuestions.Contains("here all value in Subcategory"))
                      .Take(NoOfQuestions);
或者类似于
subcategoryID.contains(“整数数组中的某个值”)


我可以从任何人那里得到帮助吗?

您可以根据和使用
Contains


这将在幕后生成一个
IN
语句。您需要确保数组相对较小,这样就不会耗尽内存。

您可以根据和使用
Contains

这将在幕后生成一个
IN
语句。您需要确保数组相对较小,这样您就不会用尽可能重复的
int[] subCategoryForQuestions=new int[]{1,2,3,4};

var TestDataList = coreDbContext.SolutionMasters
                       .Where(x => x.CategoryID == categoryID
                                   && x.DifficultyId == questionLevel
                                   && subCategoryForQuestions.Contains(x.subcategoryID))
                      .Take(NoOfQuestions);