我正在使用 .net 核心和实体框架核心和 .net 构建一个NetTopologySuite.Core
API Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite
。
我有一个用例,我想存储一组共同构建网络的地理位置。我想有多个网络,所以我还添加了一个NetId
代表不同网络的。
该Location
属性的类型为NetTopologySuite.Geometries.Point
。
为了确保同一个Point
网络不会被添加两次,我想使用Point
和NetId
作为唯一键约束的组合。
我试图这样做:
modelBuilder.Entity<NetLocation>().HasIndex(m => new { m.NetId, m.Point}).IsUnique();
启动我的应用程序时,我收到此错误:
Column 'Location' in table 'MyTable' is of a type that is invalid for use as a key column in an index or statistics.
如何确保不会将完全相同的位置两次添加到同一个网络中?