LINQ查询中的调用函数

伊克拉姆汗

我的问题是如何在LINQ查询中调用函数?例如

source.Where(x=> double.Parse(x.Col1)==3)

或者

source.Where(x=> AnyUserFunction(x.Col1)==true)

基本上,我的要求是检查天气Col1是否为数值,但有时我也需要调用用户定义的函数。

八叶球菌

问题是您的Linq to Entities提供程序不知道如何将自定义方法转换为SQL。@teovankot提出的解决方案是解决此问题的简便方法,但是如果您要使用Linq to Objects,我建议您改用AsEnumerable扩展方法,ToList因为AsEnumerable在查询数据之前不执行查询,这样可以保留延迟执行,但是请小心,不要使用AsEnumerable或整体ToList使用DbSet因为您将检索该表的所有行,从而影响应用程序的性能。

现在,如果您只想检查天气Col1是否为数值,则另一个解决方案可以使用SqlFunctions.IsNumeric方法,该方法将转换为本机SQL:

using System.Data.Entity.SqlServer;
//...

source.Where(x=> SqlFunctions.IsNumeric(x.Col1)==1);

您可以找到另一组函数,也可以在DbFunctions静态类中调用它们SqlFunctions是针对SQL Server的,而DbFunctions并非如此。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Linq查询中调用SQL标量函数

来自分类Dev

不带.edmx的LINQ查询中的调用表值函数

来自分类Dev

oracle查询中的调用函数

来自分类Dev

何时在linq查询中调用Take?

来自分类Dev

如何按 LINQ 查询中的函数排序?

来自分类Dev

如何在 LinQ 中调用函数

来自分类Dev

如何在Linq to Entities查询中调用本地方法?

来自分类Dev

如何在Linq to Entities查询中调用本地方法?

来自分类Dev

如何优化单个查询以立即在 LINQ 中多次调用?

来自分类Dev

AngularJS:-调用函数查询

来自分类Dev

如何使用EntityFramework在LINQ中调用DB函数

来自分类Dev

确定是否首先从查询VBA中调用函数

来自分类Dev

如何动态调用雪花SQL查询中的过程/函数?

来自分类Dev

如何减少单个查询中的冗余MySQL函数调用?

来自分类Dev

如何动态调用雪花SQL查询中的过程/函数?

来自分类Dev

从 PHP 库中调用函数并显示查询结果

来自分类Dev

如何在LINQ查询的where子句中将方法/函数作为IEnumerable对象调用

来自分类Dev

如何在LINQ查询的where子句中将方法/函数作为IEnumerable对象调用

来自分类Dev

连接Linq查询中的Linq查询结果

来自分类Dev

Linq中的子查询

来自分类Dev

LINQ查询中的错误

来自分类Dev

在Linq查询中尝试

来自分类Dev

LINQ查询中的NullReferenceException

来自分类Dev

LINQ查询中的条件

来自分类Dev

LINQ查询中的增量

来自分类Dev

Linq中的通用查询

来自分类Dev

LINQ查询数组中的IN

来自分类Dev

Linq中的子查询

来自分类Dev

Linq查询中的AND OR