를이 내 쿼리NHibernate에 공간 쿼리
var selectDinnerByDistance = string.Format(
@"Select
u.ProfileImageUrl as ProfileImageUrl,
d.Starter as Starter,
d.Main as Main,
d.Dessert as Dessert,
d.Dry as DryDinner,
d.[Date] as EventDate,
l.GeoLoc.STDistance(geography::STGeomFromText('POINT({0} {1})', 4326)) as Distance
from dbo.Locations l
join Dinners d on d.LocationId = l.Id
join Users u on u.Id = d.UserId
Order by Distance asc
OFFSET {2} ROWS
FETCH NEXT {3} ROWS ONLY"
, lat, lng, skip, take);
var output = _session
.CreateSQLQuery(selectDinnerByDistance)
.SetResultTransformer(Transformers.AliasToBean<DinnerListItemDto>())
.List<DinnerListItemDto>();
내가지고있어 제외되는 사용하는 경우 '모든 명명 된 매개 변수가 설정되어있는'
Not all named parameters have been set: [':STGeomFromText']
쿼리가 관리 스튜디오에서 잘 작동입니다 . 이 오류를 피하기 위해 SQL 쿼리를 사용해야하는 또 다른 방법이 있습니까?
감사합니다.
'::'대신 '.'가 작동합니까? – Firo
그게 작동하지 않았지만 그것은 나를 생각하게했다. 아마도 거기에 대한 대안이 있습니다 :: 나는 실종 됐습니다. –
제가 를 사용하여 고정 "지리 = AS @dist 선언 'POINT ({0} {1})'발언 의 상단 "l.GeoLoc.STDistance (dist.STBuffer @ (0.2) .STAsText()) as distance " 불쾌한 줄이있는 곳 대신에 나는이 솔루션에 만족하지 않아 다른 누군가에게 대안이있을 경우를 대비하여 며칠 동안 답을 남겨 둘 것입니다. –