1

我正在使用 .NET Core MVC、Entity Framework Core、Entity Framework Extensions。我正在尝试通过BulkInsertAsync方法在 EF Core 中插入批量地址点,但出现错误

指定类型未在目标服务器上注册

由于 Entity Framework Core 具有用于空间数据类型的网络拓扑套件。Entity Framework Extension的BulkInsert方法在 Entity Framework 6 中运行良好,但在 Entity Framework Core 中不行。

任何帮助或建议将不胜感激。

var geometryFactory = NetTopologySuite.NtsGeometryServices.Instance.CreateGeometryFactory(srid: 4326);
var newBreadcrumbs = (from b in addressPoints
                      select new BreadCrumb
                                 {
                                     CarrierId = carrierID,
                                     Point = geometryFactory.CreatePoint(new Coordinate(b.Longitude, b.Latitude)),
                                     Speed = b.Speed.GetValueOrDefault() * (Decimal)2.237,
                                     Direction = b.Direction,
                                     CapturedFrom = b.CapturedFrom,
                                     CapturedAt = DateTime.UtcNow,
                                     Accuracy = (Decimal)b.Accuracy,
                                     IsDisconnect = b.IsDisconnect,
                                     CreatedOn = DateTime.UtcNow,
                                     IsActive = true,
                                     CreatedBy = 0,
                                     ModifiedBy = 0,
                                     ModifiedOn = null
                                 }).ToList();

// this line of code causes the error
await dbCOntext.BulkInsertAsync(newBreadcrumbs);
4

1 回答 1

0

该问题已在项目 GitHub 中报告:https ://github.com/zzzprojects/EntityFramework-Extensions/issues/209

从 v2.2.7 开始,EF 扩展现在通过nettopologysuite包支持空间类型。

于 2019-05-09T10:32:40.403 回答