Comment obtenir un bigint dans une propriété d'objet long à partir de SQL Server à l'aide de Dapper?

asp.net c# dapper sql-server

Question

J'ai un bigint dans ma table et quand j'essaie de faire une sélection en utilisant Dapper, cela ne fonctionne pas. J'ai trouvé une astuce qui dit de lancer en numérique, mais cela génère une erreur de distribution invalide.

Quelle est la distribution correcte à utiliser avec dapper?

Réponse acceptée

Il suffit de taper aussi long :

    public void TestNakedBigInt()
    {
        long foo = 12345;
        var result = connection.Query<long>("select @foo", new {foo}).Single();
        foo.IsEqualTo(result);
    }

    public void TestBigIntMember()
    {
        long foo = 12345;
        var result = connection.Query<WithBigInt>(@"
declare @bar table(Value bigint)
insert @bar values (@foo)
select * from @bar", new {foo}).Single();
        result.Value.IsEqualTo(foo);
    }
    class WithBigInt
    {
        public long Value { get; set; }
    }



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi