Предыдущая база данных была SQL Server 2008 на Windows Web Server 2008.
Текущий - это SQL Server 2017 на Windows Server 2012. Связана ли эта проблема с ОС?
Я использовал EF Core с NetTopologySuite поверх SQL Server 2008, и он работал нормально.
Я переместил базу данных в экземпляр SQL Server 2017, но при запросе я получаю эту ошибку:
Ошибка .NET Framework при выполнении пользовательской подпрограммы или совокупной «географии»: System.FormatException: один из идентифицированных элементов был в недопустимом формате.
Код такой же, без изменений. Однако я чувствую, что чего-то не хватает в SQL Server 2017 или где-то между ними.
private async Task<List<PotentialProjectViewModel>> GetPotentialLocations(Project p)
{
return await _db.PotentialProjects
.Where(x => x.Location != null)
.Where(x => x.Location.Distance(p.Locatie) < 950)
.Select(x => new PotentialProjectViewModel
{
LocatieLatitudine = x.AddressLatitude,
LocatieLongitudine = x.AddressLongitude,
NumeProiect = x.ProjectName
})
.ToListAsync();
}
Контекст базы данных настроен следующим образом:
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
optionsBuilder
.UseSqlServer(ConnectionString,
sqlOptions => sqlOptions.UseNetTopologySuite());
}
}
Я установил пакет nuget NetTopologySuite, а также Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite.