我们已将数据库从SQL Server迁移到Oracle。我们的应用应该在两个数据库上运行所以我们使用了Entity Framework 6.当通过EF6插入记录时,我们得到了这个例外:
Oracle Data Provider for .NET不支持时间
以下是引发此异常的代码:
public class ActivityLog
{
public DateTime TimeAccessed { get; set; }
}
NeoSampleDBEntities context = new NeoSampleDBEntities();
context.ActivityLogs.Add(_activityLog);
context.SaveChanges();
我相信这个例外的来源是一个日期/时间字符串,如下所示:
11/07/2014 12:45:12
Oracle提供了一个名为to_date()
的函数。使用此功能,我们可以插入带有时间的日期。但是我们如何从EF6做到这一点?我不想在所有模型中进行更改,因为我们必须在SQL Server和Oracle上运行应用程序。