Скалярная функция в NHibernate - PullRequest
1 голос
/ 20 марта 2010

У меня есть следующая скалярная функция в MS SQL 2005:

CREATE FUNCTION [dbo].[Distance] ( @lat1 float,  @long1 float,@lat2 float, @long2 float )
RETURNS float
AS
BEGIN
    RETURN (3958*3.1415926*sqrt((@lat2-@lat1)*(@lat2-@lat1) + cos(@lat2/57.29578)*cos(@lat1/57.29578)*(@long2-@long1)*(@long2-@long1))/180);
END

Мне нужно иметь возможность вызывать эту функцию из моих запросов NHibernate. Я прочитал эту статью , но я увяз в некоторых деталях, которые я не сразу понял.

Если вы использовали скалярные функции с NHibernate, не могли бы вы привести пример того, как ваш файл HBM будет выглядеть для такой функции?

1 Ответ

0 голосов
/ 20 марта 2010

Это не настраивается в файлах сопоставления, но в диалекте. Вам нужно создать собственный диалект и зарегистрировать свою функцию. Примеры:

...