Dapper.Contrib - InsertAsync не может вставить ключ HIERARCHYID
В нашем проекте есть таблица с первичным ключом типа HIERARCHYID:
CREATE TABLE [dbo].[OurTable]
(
[Id] HIERARCHYID NOT NULL,
<other fields>
)
и соответствующий класс для использования с запросами Dapper:
[Table("OurTable")]
public class OurTable
{
[ExplicitKey]
public SqlHierarchyId Id { get; private set; }
<other fields>
}
Объект создается и инициализируется, вызывается InsertAsync, и сразу же происходит сбой с сообщением "Не удается вставить нулевое значение в поле Id", даже если отладка показывает, что Id не является нулевым и имеет правильное значение в точке, где мы пытаемся вставить.
Атрибут [ExplicitKey] был добавлен специально для исправления подобных случаев, но похоже, что... не так ли? Что еще я могу здесь упустить?
1 ответ
Если вы никогда не решали эту проблему, это может быть существующая ошибка в Dapper, замеченная здесь на GitHub.