gpt4 book ai didi

c# - 在 Entity Framework 中使用数学函数和 mysql

转载 作者:行者123 更新时间:2023-11-30 15:25:04 26 4
gpt4 key购买 nike

我正在开发 ASP.NET MVC 应用程序并使用带有 Entity Framework 的 Mysql。但是我无法像这样执行 Linq 查询:

var place= dbContext.Places.FirstOrDefault(x => Math.Sqrt(x.Lat) > 0);

我也尝试过使用 SqlFunctions:

var place= dbContext.Places.FirstOrDefault(x => SqlFunctions.SquareRoot(x.Lat) > 0);

但无论哪种方式,我都会得到“System.NotSupportedException”:

附加信息:类型“System.Data.Entity.SqlServer”上的指定方法“System.Nullable1[System.Double] SquareRoot(System.Nullable1[System.Decimal])” .SqlFunctions' 无法转换为 LINQ to Entities 存储表达式。

有没有什么方法可以使用平方根函数,以便将其转换为 LINQ to Entities 表达式?

最佳答案

Entity Framework 不支持 Sqrt 函数:

Math Canonical Functions - 支持的功能列表。

因此您可以使用 Math.Pow insted:

var place= dbContext.Places.FirstOrDefault(x => Math.Pow(x.Lat,0.5) > 0);

关于c# - 在 Entity Framework 中使用数学函数和 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31872793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com