함수에 수식을 작성하고이를 내 EF 쿼리에 전달합니다. 작동하지 않습니다. 그러나 Math.Pow (x, x)와 같은 함수가 작동합니다. 왜? 내 수식을 내 쿼리에 직접 통합해야합니까?엔티티 프레임 워크에 수학 공식 전달하기
var i = from u in Locations
where (SquareRoot(u.SomeField) < radius)
select u;
public double SquareRoot(double val)
{
return Math.Pow(val, 0.5);
}
그러나이 작품 :
var i = from u in Locations
where (Math.Pow(u.SomeField, 0.5) < radius)
select u;
나는 간단한 사각형보다 훨씬 더 큰 것 사용하려면 실제 공식. 지구상의 점들 사이의 거리와 같은 수식 등.이 때문에 저는 수식을 쿼리에서 분리하여 함수로 사용하고 싶습니다.
public double DistanceBetweenPoints(double centerLat, double centerLon, double pointLat, double pointLon)
{
const double sphericalValue = 69.1;
return Math.Sqrt((Math.Pow(sphericalValue*(pointLat-centerLat), 2)) + (Math.Pow(sphericalValue*(pointLon-centerLon)*Math.Cos(centerLat/57.3), 2)));
}
Math.Sqrt을()과와 Math.cos EF는 지원되지 않습니다
실제 화학식은 다음과 같다.
여기서 도와 주실 수 있습니까? 'Math.Pow (u.Latitude, 0.5)'는 실제로 의미가 있습니까? – jason
나는 수식을 단순화했다. 그러나 내가 만난 문제는'Math.Sqrt'가 지원되지 않는다는 것이다. SquareRoot와 동일합니다. –
저는 위도의 제곱근이 특히 반경과 비교할 때 의미있는 것이었지만, 실제로는 무언가를 사용하지 않고 그냥 예를 들고있는 것처럼 보였습니다. – jason