Я пытаюсь передать логическое значение в качестве параметра Oracle с помощью Щеголеватого, переводя на 1/0 поле в базе данных, например:Pass C# BOOL в качестве параметра в Oracle с помощью Щеголеватого
public class Customer
{
public bool Active { get; set; }
}
static void InsertCustomer()
{
var customer = connect.QueryFirst<Customer>("select 1 active from dual"); // this works
connect.Execute("insert into customers(active) values(:active)", customer); // this doesn't
}
Но это порождает исключение:
System.ArgumentException: «Значение не входит в ожидаемый диапазон ».
Я знаю, что могу создать еще одно свойство public int ActiveInt => Active ? 1 : 2;
, но я хотел бы, чтобы мои классы POCO как можно более чистым, особенно потому, что свойства должны быть открытыми для Щеголеватый, чтобы использовать их в качестве параметров.
Я попытался создать обработчик типа BOOL, но он работает только для столбцов запроса, а не параметры: https://github.com/StackExchange/Dapper/issues/303
мне нужно передать весь объект в качестве параметра, поэтому преобразования при переходе параметра не представляется возможным ,
Есть ли способ сделать это?