Skip to content

Commit 3d8bc0e

Browse files
David EllingsworthDavid Ellingsworth
David Ellingsworth
authored and
David Ellingsworth
committed
GH-3530: The Sql Server CE driver does not support the DbDataReader.GetChar method, wrap it in the NoCharDbDataReader.
1 parent 06d93bc commit 3d8bc0e

File tree

2 files changed

+42
-1
lines changed

2 files changed

+42
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
//------------------------------------------------------------------------------
2+
// <auto-generated>
3+
// This code was generated by AsyncGenerator.
4+
//
5+
// Changes to this file may cause incorrect behavior and will be lost if
6+
// the code is regenerated.
7+
// </auto-generated>
8+
//------------------------------------------------------------------------------
9+
10+
11+
using System;
12+
using System.Data;
13+
using System.Data.Common;
14+
using NHibernate.AdoNet;
15+
using NHibernate.SqlTypes;
16+
using NHibernate.Util;
17+
18+
namespace NHibernate.Driver
19+
{
20+
using System.Threading.Tasks;
21+
using System.Threading;
22+
public partial class SqlServerCeDriver : ReflectionBasedDriver
23+
{
24+
25+
public override async Task<DbDataReader> ExecuteReaderAsync(DbCommand command, CancellationToken cancellationToken)
26+
{
27+
cancellationToken.ThrowIfCancellationRequested();
28+
var reader = await (command.ExecuteReaderAsync(cancellationToken)).ConfigureAwait(false);
29+
30+
return new NoCharDbDataReader(reader);
31+
}
32+
}
33+
}

src/NHibernate/Driver/SqlServerCeDriver.cs

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Data;
33
using System.Data.Common;
4+
using NHibernate.AdoNet;
45
using NHibernate.SqlTypes;
56
using NHibernate.Util;
67

@@ -9,7 +10,7 @@ namespace NHibernate.Driver
910
/// <summary>
1011
/// A NHibernate driver for Microsoft SQL Server CE data provider
1112
/// </summary>
12-
public class SqlServerCeDriver : ReflectionBasedDriver
13+
public partial class SqlServerCeDriver : ReflectionBasedDriver
1314
{
1415
private static readonly Action<object, SqlDbType> SetSqlDbType =
1516
DelegateHelper.BuildPropertySetter<SqlDbType>(
@@ -125,5 +126,12 @@ private void AdjustDbParamTypeForLargeObjects(DbParameter dbParam, SqlType sqlTy
125126

126127
/// <inheritdoc />
127128
public override DateTime MinDate => new DateTime(1753, 1, 1);
129+
130+
public override DbDataReader ExecuteReader(DbCommand command)
131+
{
132+
var reader = command.ExecuteReader();
133+
134+
return new NoCharDbDataReader(reader);
135+
}
128136
}
129137
}

0 commit comments

Comments
 (0)