Las*_*eli 4 c# linq asp.net-mvc entity-framework asp.net-mvc-4
我正在开发 ASP.NET MVC 应用程序,并在其中使用带有实体框架的 Mysql。但是我在执行这样的 Linq 查询时遇到了问题:
var place= dbContext.Places.FirstOrDefault(x => Math.Sqrt(x.Lat) > 0);
Run Code Online (Sandbox Code Playgroud)
我也尝试使用 SqlFunctions:
var place= dbContext.Places.FirstOrDefault(x => SqlFunctions.SquareRoot(x.Lat) > 0);
Run Code Online (Sandbox Code Playgroud)
但无论哪种方式,我都会收到“System.NotSupportedException”:
附加信息:1[System.Double] SquareRoot(System.Nullable
无法将类型“System.Data.Entity.SqlServer.SqlFunctions”上的指定方法“System.Nullable 1[System.Decimal])”转换为 LINQ to Entities 存储表达式。
有什么方法可以使用平方根函数,以便将其转换为 LINQ to Entities 表达式?
实体框架不支持 Sqrt 函数:
数学规范函数- 支持的函数列表。
所以你可以使用 Math.Pow 插入:
var place= dbContext.Places.FirstOrDefault(x => Math.Pow(x.Lat,0.5) > 0);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1605 次 |
最近记录: |