NHibernate.Spatial и Sql 2008 География тип - PullRequest
13 голосов
/ 22 декабря 2008

Я сейчас работаю над проектом, в котором мне приходится иметь дело с типами географии SQL Server 2008. Поскольку большая часть проектов использует NHibernate в качестве ORM, я задаюсь вопросом, сколько будет работы, чтобы использовать / расширить NHibernate.Spatial с этим типом (насколько я вижу, Nh Spatial пока поддерживает только тип геометрии). Btw. Есть ли другие .net ORM, которые поддерживают этот тип SQL? спасибо

Ответы [ 2 ]

2 голосов
/ 30 января 2009

Я не знаю конкретно о пространственном, но вы всегда можете расширить NHibernate для работы с вашими пользовательскими типами, что довольно просто (см. NHibernate Custom Mapping Types ), но дело в том, что вы должны объяснить как работать с типами географии в NHibernate (см. пространство имен NHibernate.Type), рассказывая NH, как преобразовать значение туда и обратно в SQL.

Возможно, это не самая легкая вещь в мире, но это можно сделать, многие люди могут помочь вам в nhusers , и вы определенно узнаете много нового о внутренней работе OR / M.

1 голос
/ 10 ноября 2009

Я спросил то же самое в NHUsers еще в январе. NHSpatial имеет ограниченную поддержку типов географии. Посмотрите на ветку NHUsers ниже, вы можете «сортировать» типы геометрии для некоторых приложений географии.

http://groups.google.com/group/nhcdevs/browse_thread/thread/752b046c0ce959b0/9596204d0dd0ff47?q=#9596204d0dd0ff47

Также см. Ссылку, которую Рикардо разместил в группе, на блог Исаака Кунена, где приведен интересный пример проблемы ближайшего соседа в SQL.

Таким образом, по сути, ответ: ни один NHSpatial не поддерживает географию, но вы можете использовать типы геометрии для некоторых основных задач географии (например, расстояние между двумя точками). Но вам лучше выполнить собственный запрос SQL, чтобы получить всю мощь географии SQL Server 2008.

...