gpt4 book ai didi

c# - 使用 Entity Framework C# 将字符串转换为日期

转载 作者:太空宇宙 更新时间:2023-11-03 12:52:15 29 4
gpt4 key购买 nike

我正在尝试使用 Entity Framework,但遇到数据库中的类型与我的模型不匹配的问题。

具体来说,我在类中有 String 字段 Date,在 SQL Server 数据库中有 date。因此,我在将数据加载到模型中时遇到类型不正确的错误。

我附上了我的一些代码,我认为可以应用转换。

public class MovementMap : EntityTypeConfiguration<Movement>
{
public MovementMap()
{
ToTable("viewMovement", "met");
HasKey(e => e.IdMovement);
Property(r => r.DateMovement).HasColumnName("dateMovement");
//Type of DateMovement - String, but column dateMovement in db has type date.
}
}

如何在加载时或任何时候转换它?很高兴收到任何想法!

最佳答案

您可以将 Column 属性添加到类中的 DateMovement 属性。这将告诉 Entity Framework 数据库值是一个 Date:

[Column(TypeName="Date")]
public string DateMovement { get; set; }

话虽这么说,但为了保持一致性,我建议将 DateMovement 属性更改为 DateTime

如果您不想更改模型,可以通过向代码示例添加 HasColumnType 调用来执行此配置:

public class MovementMap : EntityTypeConfiguration<Movement>
{
public MovementMap()
{
ToTable("viewMovement", "met");
HasKey(e => e.IdMovement);
Property(r => r.DateMovement).HasColumnName("dateMovement").HasColumnType("Date");
}
}

关于c# - 使用 Entity Framework C# 将字符串转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35132699/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com