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.