Skip to content

Commit 9313b87

Browse files
committed
MS SQL Server: moved DateTimeOffset mappings moved to base driver
This type support is de facto standard for provider
1 parent b709ff7 commit 9313b87

2 files changed

Lines changed: 18 additions & 13 deletions

File tree

Orm/Xtensive.Orm.SqlServer/Sql.Drivers.SqlServer/Driver.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,19 @@ internal abstract class Driver : SqlDriver
1616
private readonly ErrorMessageParser errorMessageParser;
1717
private readonly bool checkConnectionIsAlive;
1818

19+
/// <inheritdoc />
1920
protected override SqlConnection DoCreateConnection()
2021
{
2122
return new Connection(this, checkConnectionIsAlive);
2223
}
2324

25+
/// <inheritdoc />
2426
public override SqlExceptionType GetExceptionType(Exception exception)
2527
{
2628
return GetExceptionInfo(exception).Type;
2729
}
2830

31+
/// <inheritdoc />
2932
public override SqlExceptionInfo GetExceptionInfo(Exception exception)
3033
{
3134
if (exception is not SqlException nativeException)
@@ -54,6 +57,21 @@ public override SqlExceptionInfo GetExceptionInfo(Exception exception)
5457
return SqlExceptionInfo.Create(SqlExceptionType.Unknown);
5558
}
5659

60+
/// <inheritdoc />
61+
protected override void RegisterCustomMappings(TypeMappingRegistryBuilder builder)
62+
{
63+
builder.Add(typeof(DateTimeOffset),
64+
builder.Mapper.ReadDateTimeOffset,
65+
builder.Mapper.BindDateTimeOffset,
66+
builder.Mapper.MapDateTimeOffset);
67+
}
68+
69+
/// <inheritdoc />
70+
protected override void RegisterCustomReverseMappings(TypeMappingRegistryBuilder builder)
71+
{
72+
builder.AddReverse(SqlType.DateTimeOffset, typeof(DateTimeOffset));
73+
}
74+
5775
protected virtual bool TryProvideErrorContext(int errorCode, string errorMessage, SqlExceptionInfo info)
5876
{
5977
Dictionary<int, string> parseResult;

Orm/Xtensive.Orm.SqlServer/Sql.Drivers.SqlServer/v13/Driver.cs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,6 @@ protected override Sql.TypeMapper CreateTypeMapper()
3636
return new TypeMapper(this);
3737
}
3838

39-
protected override void RegisterCustomMappings(TypeMappingRegistryBuilder builder)
40-
{
41-
builder.Add(typeof(DateTimeOffset),
42-
builder.Mapper.ReadDateTimeOffset,
43-
builder.Mapper.BindDateTimeOffset,
44-
builder.Mapper.MapDateTimeOffset);
45-
}
46-
47-
protected override void RegisterCustomReverseMappings(TypeMappingRegistryBuilder builder)
48-
{
49-
builder.AddReverse(SqlType.DateTimeOffset, typeof(DateTimeOffset));
50-
}
51-
5239
public Driver(CoreServerInfo coreServerInfo, ErrorMessageParser errorMessageParser, bool checkConnectionIsAlive)
5340
: base(coreServerInfo, errorMessageParser, checkConnectionIsAlive)
5441
{

0 commit comments

Comments
 (0)