C# 实体框架-查询中的精度
与这个问题非常相似: 然而,给出的答案似乎与我的结果不符 我有一个列,C# 实体框架-查询中的精度,c#,sql-server,entity-framework,C#,Sql Server,Entity Framework,与这个问题非常相似: 然而,给出的答案似乎与我的结果不符 我有一个列,OrderEntryTimeUtc datetime2(0),在该列上对表进行分区。现在,为了实际使用分区,我需要查询使用相同的类型和精度 但当我创建where子句时: o.OrderEntryTimeUtc > dateStart 其中dateStart是ms部件设置为0的DateTime,我得到以下生成的参数: @p__linq__2 datetime2(7) @p__linq__2='2016-05-21 23:
OrderEntryTimeUtc datetime2(0)
,在该列上对表进行分区。现在,为了实际使用分区,我需要查询使用相同的类型和精度
但当我创建where子句时:
o.OrderEntryTimeUtc > dateStart
其中dateStart是ms部件设置为0的DateTime,我得到以下生成的参数:
@p__linq__2 datetime2(7)
@p__linq__2='2016-05-21 23:44:33'
如何强制EF发送
日期时间2(0)
?或者,如何在不必用SQL编写整个查询或创建视图的情况下将转换添加到查询中?您可以使用modelBuilder
modelBuilder.Entity<YourEntity>()
.Property(p => p.OrderEntryTimeUtc)
.HasColumnType("datetime2")
.HasPrecision(0);
modelBuilder.Entity()
.Property(p=>p.OrderEntryTimeUtc)
.HasColumnType(“日期时间2”)
.精度(0);
您尝试过这个吗?它不会改变查询参数的精度。@Massanu:不幸的是,这不会改变查询,只会改变列。但如果真是这样的话,那就更有意义了。