Dapper.Contrib: InsertAsync no puede insertar una clave HIERARCHYID

c# dapper dapper-contrib sql-server

Pregunta

Tenemos una tabla en nuestro proyecto con una clave principal de tipo HIERARCHYID:

CREATE TABLE [dbo].[OurTable]
(
    [Id]                HIERARCHYID     NOT NULL,
    <other fields>
)

y la clase correspondiente para usar con las consultas Dapper:

[Table("OurTable")]
public class OurTable
{
    [ExplicitKey]
    public SqlHierarchyId Id { get; private set; }
    <other fields>
}

El objeto se crea e inicializa, se llama a InsertAsync y falla rápidamente con "No se puede insertar Nulo en el campo de Id.", Aunque la depuración muestra que Id no es nulo y tiene el valor correcto en el punto donde intentamos insertar.

El atributo [ExplicitKey] se agregó específicamente para arreglar casos como este, pero parece que ... ¿no? ¿Qué más puedo estar perdiendo aquí?

Respuesta aceptada

Si nunca resolvió este problema, podría ser un error existente en Dapper que se ve aquí en GitHub .



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué