Я пытаюсь сопоставить этот класс:
using NetTopologySuite.Geometries;
using System.Collections.Generic;
namespace Project.API.Models
{
public class Geo
{
public int Id { get; set; }
public IEnumerable<Geometry> Geometries{ get; set; }
}
}
Но когда я пытаюсь добавить новую миграцию, у меня возникает эта ошибка:
Свойство "Geometry.UserData" не может быть сопоставлено, поскольку оно имеет тип "объект", который не является поддерживаемым примитивным типом или допустимым типом объекта...
Провожу исследование (https://www.npgsql.org/efcore/mapping/nts.html) я обнаружил, что мне нужно использовать:
services.AddDbContext<DataContext>(x => x.UseNpgsql(Configuration.GetConnectionString("DefaultConnection"), o => o.UseNetTopologySuite()));
вместо
services.AddDbContext<DataContext>(x => x.UseNpgsql(Configuration.GetConnectionString("DefaultConnection")));
Но при добавлении o => o.UseNetTopologySuite()
у меня возникает ошибка:
«NpgsqlDbContextOptionsBuilder» не содержит определения для «UseNetTopologySuite».
Я думаю, что это связано с проблемами версии, но версии, которые я использую, точно такие, как предложено в этом выпуске на github (https://github.com/npgsql/efcore.pg/issues/1024).
NuGet: