C# 执行DbGeometry Contains操作时发生SqlNullValueException

C# 执行DbGeometry Contains操作时发生SqlNullValueException,c#,C#,我在尝试执行包含操作时遇到一个奇怪的异常,即一个实例在另一个实例中。google上没有关于此异常的结果,并且两个几何体实例都不是空的,并且都是有效的 var inside = gridShape.Shape_MGA.Contains(shape.shapeMga) Unhandled Exception: System.Data.SqlTypes.SqlNullValueException: Data is Null. This method or property cannot be cal

我在尝试执行
包含
操作时遇到一个奇怪的异常,即一个实例在另一个实例中。google上没有关于此异常的结果,并且两个几何体实例都不是空的,并且都是有效的

var inside = gridShape.Shape_MGA.Contains(shape.shapeMga)

Unhandled Exception: System.Data.SqlTypes.SqlNullValueException: Data is Null. This method or property cannot be called on Null values.
   at System.Data.SqlTypes.SqlBoolean.get_Value()
   at lambda_method(Closure , Object )
   at System.Data.Entity.SqlServer.SqlTypesAssembly.SqlBooleanToBoolean(Object sqlBooleanValue)
   at System.Data.Entity.SqlServer.SqlSpatialServices.Contains(DbGeometry geometryValue, DbGeometry otherGeometry)
   at System.Data.Entity.Spatial.DbGeometry.Contains(DbGeometry other)
   at ReprojectShapes.Program.ConvertSourceShapesToLocalGrid(String geoConnStr, List`1 shapesToReproject) in C:\dev\geology-workbench\WorkbenchService\Reproject
Shapes\Program.cs:line 152
   at ReprojectShapes.Program.Main(String[] args) in C:\dev\geology-workbench\WorkbenchService\ReprojectShapes\Program.cs:line 33

答案是这两个实例的SRID是不同的

一个是以天真的方式创建的:

shape.shapeMga = DbGeometry.FromText(sourceShape1.shapeWkt);
另一种更“正确”的方式:

gridShape.Shape_MGA = DbGeometry.FromText(gridExtentsWkt, 28350);