我目前正在开发一个项目,我必须处理sql server 2008地理类型。 由于项目的大部分使用NHibernate作为ORM,我想知道使用/扩展NHibernate.Spatial有多少工作用这种类型(据我所知,Nh Spatial仅支持几何类型)。 顺便说一句。还有其他.net ORM支持这种sql类型吗? 谢谢
答案 0 :(得分:2)
我不是特别了解空间,但你总是可以扩展NHibernate来处理你的自定义类型,这非常简单(参见NHibernate Custom Mapping Types),但问题是你必须解释如何处理地理NHibernate的类型(请参阅命名空间NHibernate.Type)teling NH如何将值来回转换为SQL。
这可能不是世界上最简单的事情,但可以做到,很多人可能会在nhusers帮助你,你肯定会学到很多关于OR / M内部运作的知识。
答案 1 :(得分:1)
我在1月份的NHUsers问了同样的事情。 NHSpatial对地理类型的支持有限。检查下面NHUsers的线程,您可以“使用几何类型”来处理某些地理应用程序。
另请参阅Ricardo在该组中发布的链接到Isaac Kunen的博客,该博客提供了SQL中最近邻居问题的一个有趣示例。
基本上,答案是:没有NHSpatial不支持地理,但你可以使用几何类型来解决一些基本的地理问题(例如两点之间的距离)。但是,最好运行Native SQL查询以获得SQL Server 2008地理类型的全部功能。