我正在尝试使用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
属性更改为aDateTime
以便保持一致性。
如果您不想更改模型,则可以通过HasColumnType
在代码示例中添加调用来执行此配置:
public class MovementMap : EntityTypeConfiguration<Movement>
{
public MovementMap()
{
ToTable("viewMovement", "met");
HasKey(e => e.IdMovement);
Property(r => r.DateMovement).HasColumnName("dateMovement").HasColumnType("Date");
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句