使用三元运算符在两组整数值中进行选择

时间:2015-01-29 18:17:28

标签: c# sql linq asp.net-mvc-4

我有两组整数值,如下面的

int[] x = {12,4,7,23,1,21,3,34,15,11,35,39,19,31}
int[] y = {28,9,17,8,2,20}

我必须根据以下条件选择一套

var useID = (PermitType == 1)? x:y;

我将在我的LINQ查询中使用它,如下所示

 var query = from NC in dbContext.NC
                        where  NC.useID in useID
                        select NC;
                 var output = query.ToList();

这是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

条件(三元)运算符之后的useID将具有int值的数组。您可以在LINQ查询中使用,如:

 var query = from NC in dbContext.NC
             where  useID.Contains(NC.useID)
             select NC;

或使用方法语法:

var query = dbContext.NC.Where(row => useID.Contains(row.useID);

就此where NC.useID in useID语法而言,您必须使用Contains来表达(SELECT * FROM YourTable where col1 IN (1,2,3);