|
From: Neal G. (JIRA) <nh...@gm...> - 2011-04-21 14:44:48
|
[ http://216.121.112.228/browse/NH-2661?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=20932#action_20932 ]
Neal Groothuis commented on NH-2661:
------------------------------------
The exact code that I added to NHibernate.Driver.SqlClientDriver is:
protected override void InitializeParameter(IDbDataParameter
dbParam, string name, SqlType sqlType)
{
base.InitializeParameter(dbParam, name, sqlType);
if (sqlType.DbType == DbType.Time)
((SqlParameter) dbParam).SqlDbType = SqlDbType.Time;
}
I verified that the unit test passes after I made this change (and updated the type of the "Data" property to reference my included custom TimeType).
> NHibernate cannot handle SQL Server TIME columns when built with the .NET 4 framework
> -------------------------------------------------------------------------------------
>
> Key: NH-2661
> URL: http://216.121.112.228/browse/NH-2661
> Project: NHibernate
> Issue Type: Bug
> Components: Core
> Affects Versions: 3.1.0
> Reporter: Neal Groothuis
> Priority: Minor
> Attachments: NHibernate.Test-2661.zip
>
>
> In .NET 4, setting a SqlParameter's DbType to Time does not work; it will be set to DateTime instead. (http://msdn.microsoft.com/en-us/library/system.data.dbtype%28v=VS.100%29.aspx , c.f. http://msdn.microsoft.com/en-us/library/system.data.dbtype%28v=VS.90%29.aspx ). To set a SqlParameter's DbType to Time, you actually have to set the SqlDbType property to SqlDbType.Time.
> Unfortunately, this renders NHibernate unable to access TIME columns in the database if being used in .NET 4.0.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://216.121.112.228/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
|