Я работаю с EF Core 3.1 и использую sql тип данных сервера ierarchyid в одной из моих таблиц.
Когда я добавляю таблицу в свой проект, «имя иерархии» превращается в тип Geometry.
Я попытался вручную изменить тип SqlHierarchyId с помощью пакета dotMorten.Microsoft.SqlServer.Types.
Код в моем API:
[HttpGet]
[Route("")]
public ActionResult<List<EntityDto>> Get()
{
EntityRepository repo = new EntityRepository (_context);
var reults = repo.GetAll().ToList(); // <-- fails here
return _mapper.Map<List<Entity>, List<EntityDto>>(reults);
}
GetAll () возвращает это:
protected DbSet<TEntity> dbSet;
public virtual IQueryable<TEntity> GetAll()
{
return dbSet;
}
Но когда я пытаюсь получить список этих объектов, я получаю сообщение об ошибке:
Unable to cast object of type 'Microsoft.SqlServer.Types.SqlHierarchyId' to type 'Microsoft.Data.SqlClient.Server.IBinarySerialize'.
Я не нашел способа преодолеть эта ошибка.
Спасибо за помощь.