实体框架避免将datetime转换为datetime2

时间:2015-06-02 02:05:25

标签: c# sql entity-framework datetime

我在create_date中有一个专栏datetime

当我通过此列查询时,实体框架生成SQL,如:

([Extent1].[create_date] >= CAST( @p__linq__3 AS datetime2)) AND ([Extent1].[create_date] <= CAST( @p__linq__4 AS datetime2))

此处CAST不是必需的,而且性能较低。

我试过这些:

[Column(TypeName = "datetime")]
public Nullable<System.DateTime> create_date { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<myClass>().Property(o => o.create_date).HasColumnType("datetime");
}

两个都不工作。

如何避免CAST? 我希望实体框架生成SQL,如:

([Extent1].[create_date] >= CAST( @p__linq__3 AS datetime)) AND ([Extent1].[create_date] <= CAST( @p__linq__4 AS datetime))

我不认为改变.edmx:<Schema .. ProviderManifestToken="2008"是一个很好的解决方案。

0 个答案:

没有答案