Skip to content

Commit ab0148f

Browse files
committed
Fix DbType.Guid type registration
1 parent 8675d2d commit ab0148f

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

src/NHibernate/Dialect/DB2Dialect.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ public DB2Dialect()
5555
RegisterColumnType(DbType.String, 8000, "VARCHAR($l)");
5656
RegisterColumnType(DbType.String, 2147483647, "CLOB");
5757
RegisterColumnType(DbType.Time, "TIME");
58+
RegisterColumnType(DbType.Guid, "CHAR(16) FOR BIT DATA");
5859

5960
RegisterFunction("abs", new StandardSQLFunction("abs"));
6061
RegisterFunction("absval", new StandardSQLFunction("absval"));

src/NHibernate/Driver/DB2DriverBase.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Data;
33
using System.Data.Common;
44
using NHibernate.Engine;
5+
using NHibernate.SqlTypes;
56

67
namespace NHibernate.Driver
78
{
@@ -47,7 +48,15 @@ public override IResultSetsCommand GetResultSetsCommand(ISessionImplementor sess
4748

4849
protected override void InitializeParameter(DbParameter dbParam, string name, SqlType sqlType)
4950
{
50-
dbParam.DbType = sqlType.DbType;
51+
switch (sqlType.DbType)
52+
{
53+
case DbType.Guid:
54+
dbParam.DbType = DbType.Binary;
55+
break;
56+
default:
57+
dbParam.DbType = sqlType.DbType;
58+
break;
59+
}
5160
}
5261
}
5362
}

0 commit comments

Comments
 (0)