NETProvider
NETProvider copied to clipboard
FbParameter does not support DbType.DateTimeOffset
FirebirdSql.Data.FirebirdClient v10.3.1.
I have a Dapper query that attempts to insert a DateTimeOffset value but fails with ArgumentException: "Invalid data type: 27.". Simplified version:
var connectionString = "...";
var connection = new FbConnection(connectionString);
await connection.QueryFirstAsync<DateTimeOffset>(
"select cast(@value as timestamp) from rdb$database",
new { Value = DateTimeOffset.UtcNow });
I've debugged the code and it looks like FbParameter.DbType property does not accept DateTimeOffset value.
var param = new FbParameter()
{
DbType = DbType.DateTimeOffset // ArgumentException here
};
As a workaround I've used DateTime values but it will be much better to have DateTimeOffsert params to work out of the box.
If you want to work with time zones, you should use FbZonedDateTime which is more aligned to how time zones are handled in Firebird.