Polygon, Geometry приложение CRUD ASP.NET Core

Добрый день господа программисты и системные администраторы. Имеется проблема и необходима ваша помощь.

Есть приложение MVC. БД PostgreSQL.

В БД имеется тип данных Polygon. Проблема возникает при CRUD операциях. Я подключил пакеты NetTopologySuite. Но всё равно выходит ошибка при обращении (даже просто при выводе) поля с типом данных Polygon. InvalidCastException: Can't cast database type polygon to Polygon Npgsql.TypeHandling.NpgsqlTypeHandler.Read(N pgsqlReadBuffer buf, int len, bool async, FieldDescription fieldDescription).

Подскажите, пожалуйста, мне дураку, как всё-таки работать с этим полем информации полно, а в коде не могу разобраться.

Метод по классике сделан? к примеру:

C#

using Microsoft.Azure.Documents.Spatial;
using NetTopologySuite.Geometries;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
 
namespace GeoMap.Models
{
 
 
    public class layer
    {
        [Key]
        public int id { get; set; }
        public string? okrug { get; set; }
        public Polygon polygon { get; set; }
 
 
    }
}

Пример Контроллера для вывод данных на экран.

C#

[Route("api/[controller]")] [ApiController] public class LayerController : ControllerBase { private readonly ApplicationContext _context; public LayerController(ApplicationContext context) { _context = context; }

[HttpGet]
public IEnumerable<layer> GetAll()
{
    return _context.layer;
}

[HttpGet("{id}")]
public async Task<IActionResult> GetSubject([FromRoute] int id)
{
    if (!ModelState.IsValid)
    {
        return BadRequest(ModelState);
    }
    var layer = await _context.layer.SingleOrDefaultAsync(m =>m.id == id);
    if (layer == null)
    {
        return NotFound();
    }
    return Ok(layer);
}

Помогите, пожалуйста, сделать CRUD с типом данных Polygon.


Ответы (0 шт):