Как получить bigint для свойства длинного объекта с SQL Server с помощью Dapper?

#c# #asp.net #sql-server #dapper

#c# #asp.net #sql-server #dapper

Вопрос:

У меня есть a bigint в моей таблице, и когда я пытаюсь выполнить выбор с помощью Dapper, он не работает. Я нашел подсказку, в которой говорилось, что нужно преобразовать в числовое значение, но это выдает недопустимую ошибку приведения.

Какое правильное приведение использовать с dapper?

Ответ №1:

Просто введите как 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; }
    }
 

Комментарии:

1. Лол.. Я сделал это, но, должно быть, просто запутался. Попробовал еще раз, и это сработало.