【问题标题】:Linq Query with array as parameter以数组为参数的 Linq 查询
【发布时间】:2015-09-08 14:26:29
【问题描述】:

我知道这个问题与其他问题相似,但到目前为止他们还没有为我提供答案。我在javascript中有一个数字数组,我将其传递回我的控制器,每个数字都是数据库中一个对象的ID,我将把它取出并加载到jqgrid中。我遇到的问题是查询。我将数组传回,然后在我的存储库中调用下面的函数。

public IQueryable<IOSSample> getSamplesForSamplePoints(Array samplePointIds)
    {
        return (from u in context.IOSSamples
                where samplePointIds.Contains(u.IOSSamplingPointId)
                select u);
    }

但是该功能不喜欢我使用包含所以我不知道如何去做,任何帮助将不胜感激。

【问题讨论】:

  • 究竟是什么错误?也许你需要输入你的参数,尝试使用ICollection&lt;int&gt;而不是Array?
  • samplePointIds的Array和u.IOSSamplingPointId的类型一样吗?
  • 你不能用int[] samplePointIds代替吗?

标签: javascript c# linq


【解决方案1】:

如果u.IOSSamplingPointId 是一个int,则需要使用类型化数组作为函数输入参数:

public IQueryable<IOSSample> getSamplesForSamplePoints(ICollection<int> samplePointIds)
{
    return (from u in context.IOSSamples
            where samplePointIds.Contains(u.IOSSamplingPointId)
            select u);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    相关资源
    最近更新 更多