无法创建类型为'System.Collections.Generic.IEnumerable`1'的null常量值

时间:2014-03-07 21:23:28

标签: c# linq

无法创建类型为“System.Collections.Generic.IEnumerable”1'的空常量值。在此上下文中仅支持实体类型,枚举类型或基元类型。“} System.SystemException {System.NotSupportedException}

我真的很困惑为什么这不起作用。两个,query.ZipCodes都有东西,zipCodeDistribList里面有东西,distribQuery里面有东西。所以我在这里完全不知所措。

if (query.States.Any())
{
    var statesDistribList =
        (from selectedState in query.States
         join distribStateXREF in LocationEntityProvider.Context.MD_DISTRB_ST_XREF
            on selectedState equals distribStateXREF.ST_CD
         select distribStateXREF.MD_DISTRB_NBR
         ) ?? new List<decimal>();

    if (statesDistribList.Any())
    {
        distribQuery = distribQuery.Where(distrib => statesDistribList.Contains(distrib.Number));
    }
    statesDistribList = null;
}

query.States是一个IEnumerable distribQuery是一个IEnumerable statesDistribList 见上面的代码

错误发生在distribQuery上,它包含来自早期查询的内容;所以我知道nulls确实不是这里的潜在问题。

1 个答案:

答案 0 :(得分:1)

statesDistribList = null

您的查询仅在此行之后执行 因此,它为空。