我想开发一个LINQ查询,它将测试数据库中的字符串是否在没有子字符串返回true的数组内,只是整个字符串。在LINQ中使用表达式的多输入匿名函数
Func<int, string[], bool> predicate = (i, x) => x.Any(i.ToString().Equals);
user.Company += (from c in context.Tbl_Institute
where (predicate(c.Institute_ID,values))
select c.Institute_Title + ","
).ToString();
我有这种迄今其编译,但提供了我的一个错误: 的LINQ表达式节点类型“调用”不LINQ支撑到实体。
从研发似乎意味着我需要使用的表达式。
然而,这并不编译。
Expression`<Func<int, string[], bool>> predicate = (i, x) => x.Any(i.ToString().Equals);`
由于predicate(c.Institude_ID,values)
有错误阅读 “有望方法名称”。
有没有人有这方面的经验?我对匿名函数很陌生。
编辑:由于这里要求是不编译代码,我道歉,如果我还不清楚。
Expression<Func<int, string[], bool>> predicate = (i, x) => x.Any(i.ToString().Equals);
user.Company += (from c in context.Tbl_Institute
where (predicate(c.Institute_ID,values))
select c.Institute_Title + ",").ToString();
我看不出有什么明显的错误在你共享的代码点点。听起来像谓词声明有问题。但没有一个可靠地再现问题的好的[mcve],我不能指出任何具体的东西。请改善你的问题。 –
将函数更改为表达式时,此函数不会自行编译。当它显式地返回错误时,不确定其他代码如何帮助。 –
@AnthonyDrury - 你的代码看起来有点奇怪。你在'IQueryable <>'上调用'.ToString()'。你真的需要为我们提供[mcve]。这意味着向我们提供最少量的代码,我们可以通过粘贴和编译来查看您遇到的错误。 – Enigmativity