我们有一个Entity Framework 5.0项目,它使用SQL Server 2008进行代码优先迁移,但所有日期属性都是作为datetime列在数据库中创建的- 而不是datetime2.
是否可以使用将更新datetime数据库中所有列的添加迁移来创建迁移?有没有其他简单的方法切换到datetime2任何地方?
我首先在我的asp.net mvc应用程序中使用EF代码.这是我的代码:
Request.RequestDate = DateTime.Now;
Run Code Online (Sandbox Code Playgroud)
RequestDate的类型是我的数据库中的datetime.这是我使用上面代码时发生的错误!:
将datetime2数据类型转换为日期时间数据类型会导致超出范围的值.
请帮我.谢谢.
c# entity-framework sql-server-2008 ef-code-first entity-framework-4.3
关于DateTime值的比较,我在C#下的实体框架(Code First)遇到了问题.我使用下面定义的类Validity(在本例中简化)作为其他实体的超类,这些实体应该具有及时的有效性.
public abstract partial class Validity {
[Key]
public int ID { get; set; }
public DateTime? ValidFrom { get; set; }
public DateTime? ValidTo { get; set; }
/**
* @brief This method builds an IQueryable from another IQueryable,
* with added restriction on ValidityFrom/To
*
* An object's validitiy is defined to
* 1. start at timestamp ValidFrom (=inclusive) and
* 2. to end before ValidTo (=exclusive).
* 3. If ValidFrom or ValidTo is NULL, it means …Run Code Online (Sandbox Code Playgroud) datetime entity-framework compare sql-server-2008 entity-framework-5
我将我的数据库模型配置为使用datetime2格式而不仅仅是datetime.生成数据库时,所有日期列都是datetime而不是datetime2.这是我的列配置代码;
Property(a => a.LastOpened)
.HasColumnOrder(++index)
.HasColumnType("datetime2")
.HasPrecision(0)
.IsRequired();
Run Code Online (Sandbox Code Playgroud)
我可以发誓,这可以在早期版本的EF中使用,例如4.1,但我不明白为什么它现在不起作用.我正在连接到SQL Server 2008 R2 ...
任何帮助,将不胜感激!
谢谢!