在SQL Server和库项目之间共享空间代码

问题描述:

我们使用SQL Server CLR与我们的webapp结合使用,主要用于编写复杂的检查约束。在SQL Server和库项目之间共享空间代码

我需要编写一个与空间数据一起工作的类,它将在SQL Server中的CLR UDF和实体框架之间共享。

对于实体框架,我使用DbGeography。我将如何在CLR UDF中表示空间类型?我如何将它抽象出来,使它在两个地方都能正常工作?

+0

只是一些想法 - 内置类型'SqlGeography'和'SqlGeometry'在'Microsoft.SqlServer.Types'中您可以通过将Microsoft.SqlServer.Types.dll添加到您的项目中来引用它们(它位于SDK /在您的SQL Server安装目录中的Assemblies文件夹)。您可以使用'Parse'和'ToString' /'AsText'方法在'DbGeography'和'SqlGeography'之间进行映射。 –

由于MSDN页面上注意到Mapping CLR Parameter Data,你应该分别使用接受GEOGRAPHY/GEOMETRY数据作为输入参数SQLCLR对象和/或传回作为返回值/的结果集列是SqlGeography/SqlGeometry,类型。