我有一个定义各种字段的模型类。我可以将字段设置为“日期时间”,实体框架构建表并使用“日期时间2(7)”。我试图覆盖它以将 mssql 字段设置为“日期”。我真的不想要时间部分。同样,我还有另一个字段要设置为“时间”(一天)。我也不能设置。(为了可选的完整性,我想要一个持续时间的字段,但是当我来到它时我将不得不烧掉那座桥。)这个问题更广泛地适用于使用 Fluid api 生成任何其他特定字段。
1 回答
qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
对于date类型列,您将使用DateTime类型属性和HasColumnTypeFluent API:
public class MyEntity
{
// ...
public DateTime DateVal { get; set; }
}
modelBuilder.Entity<MyEntity>()
.Property(e => e.DateVal)
.HasColumnType("date");
对于time类型列,您只需使用TimeSpan类型属性(不需要 Fluent API):
public class MyEntity
{
// ...
public TimeSpan TimeVal { get; set; }
}
从迁移生成的 SQL 命令将是这样的:
CREATE TABLE [MyEntity] (
[Id] int NOT NULL IDENTITY,
[DateVal] date NOT NULL,
[TimeVal] time NOT NULL,
CONSTRAINT [PK_MyEntity] PRIMARY KEY ([Id])
);
- 1 回答
- 0 关注
- 166 浏览
添加回答
举报
0/150
提交
取消