Bug 24719 - DateTime2 not supported in SqlDbType > DbType
Summary: DateTime2 not supported in SqlDbType > DbType
Status: NEW
Alias: None
Product: Class Libraries
Classification: Mono
Component: System.Data (show other bugs)
Version: master
Hardware: Macintosh Mac OS
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2014-11-21 03:55 UTC by Håkan Edling
Modified: 2017-09-01 09:29 UTC (History)
1 user (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments

Description Håkan Edling 2014-11-21 03:55:42 UTC
Conversion of DateTime2 in DbType > SqlDbType was fixed in latest commit on 2014-05-02, however when performing a query with Entity Framework with a DateTime in the query an exception is thrown at the following line:

https://github.com/mono/mono/blob/master/mcs/class/System.Data/System.Data.SqlClient/SqlParameter.cs#L837

The above method (SetSqlDbType) doesn't seem to support DateTime2.

Example Entity:

public class MyClass
{
  public Guid Id { get; set; }
  public string Name { get; set; }
  public DateTime Created { get; set; }
}

Example Query:

using (var db = new MyDbContext()) {
  var now = DateTime.Now;

  // This query will cause conversion from SqlDbType DateTime2 as Entity Framework handles
  // all DateTime objects as DateTime2 due to its precision.
  var classes = db.MyClasses.Where(c => c.Created <= now).ToList();
}

I am running Mono 3.10.0 (Updated 2014-11-21) & Xamarin Studio 5.5.4 (15)

Best regards

Note You need to log in before you can comment on or make changes to this bug.