NHibernate空间几何图形类型变为NULL表示直线仅包含两个坐标相同的点
我有这样的课:NHibernate空间几何图形类型变为NULL表示直线仅包含两个坐标相同的点,nhibernate,geometry,geospatial,fluent,Nhibernate,Geometry,Geospatial,Fluent,我有这样的课: public class Edge { public virtual Guid IDEdge { get; set; } public virtual Node Source { get; set; } public virtual Node Target { get; set; } public virtual double Length { get; set; } public virtual byte Car { get; set;
public class Edge
{
public virtual Guid IDEdge { get; set; }
public virtual Node Source { get; set; }
public virtual Node Target { get; set; }
public virtual double Length { get; set; }
public virtual byte Car { get; set; }
public virtual byte CarReverse { get; set; }
public virtual IGeometry Geometry { get; set; }
}
…和流畅的映射:
public class EdgeMap : ClassMap<Edge>
{
public EdgeMap()
{
Table("Edges");
LazyLoad();
Id(x => x.IDEdge).GeneratedBy.GuidComb().Column("IDEdge");
References(x => x.Source).Column("Source");
References(x => x.Target).Column("Target");
Map(x => x.Length).Not.Nullable().Column("Length");
Map(x => x.Car).Not.Nullable().Column("Car");
Map(x => x.CarReverse).Not.Nullable().Column("CarReverse");
Map(x => x.Geometry).CustomType<MsSql2008GeometryType>().Not.Nullable().Column("Geom");
}
}
坐标相同的两点
我有:
not-null property references a null or transient value Edge.Geometry
几何类的某个实例已丢失。如果线条包含不同的点,则可以成功插入边。SQL Server中有一个限制:线条字符串必须至少有两个不同的点。看 Spatial目前没有针对此类情况引发适当的异常
not-null property references a null or transient value Edge.Geometry