繁体   English   中英

实体框架 - 查询精度

[英]Entity Framework - Precision in queries

与此问题非常相似: 为什么实体框架将参数作为DECIMAL(5,0)传递给使用NUMERIC(19)定义的列?

但是,给出的答案似乎与我的结果不一致。

我有一个OrderEntryTimeUtc datetime2(0)列,表被分区。 现在,为了实际使用分区,我需要我的查询使用相同的类型和精度。

但是当我创建我的where子句时:

o.OrderEntryTimeUtc > dateStart

其中dateStart是一个DateTime,ms部分设置为0,我得到以下生成的参数:

@p__linq__2 datetime2(7)
@p__linq__2='2016-05-21 23:44:33'

如何强制EF发送datetime2(0) 或者如何在我的查询中添加CONVERT而无需在SQL中编写整个查询或创建视图?

您可以使用modelBuilder

modelBuilder.Entity<YourEntity>()
    .Property(p => p.OrderEntryTimeUtc)
    .HasColumnType("datetime2")
    .HasPrecision(0);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM