Работа с иерархией в Entity Framework Core - PullRequest
0 голосов
/ 26 апреля 2020

Я работаю с 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'.

Я не нашел способа преодолеть эта ошибка.

Спасибо за помощь.

...