实体框架保存更改() 不插入日期时间?指定时



我有一个具有DateTime? CreatedDate { get; set; }属性的类MyEntity

所以我创建了我的实体:

MyEntity e = new MyEntity { Id = 0, ..., CreatedDate = DateTime.Now };
db.MyEntities.Add(e);
db.SaveChanges();

我在数据库中查看,CreatedDate字段为空。为什么?我在添加到上下文之前就指定了它!

尝试了其他人关于设置CreatedDate = DateTime.Now as DateTime?的建议;甚至CreatedDate = DateTime.Now as Nullable<DateTime>;相同的结果-插入为空。

问题可能是在代码的第一行中,您声明的是Entity类型的新类而不是MyEntity吗?

尝试。。

MyEntity e = new MyEntity { Id = 0, ..., CreatedDate = DateTime.Now };
db.MyEntities.Add(e);
db.SaveChanges();

CreatedDate = DateTime.Now.Date

将createddate设置为日期

我之前没有告诉你们,但我已经装饰了DateTime?使用[DatabaseGenerated(DatabaseGeneratedOption.Computed)]创建日期,我认为这不会影响创建或更新。

如果我有这个属性,那么在C#中设置CreateDate的任何操作都将导致null。为了解决null问题,我必须转到Configuration.cs和write c => c.DateTime(defaultSqlValue: "GETDATE()")以获得相应的列定义。解决了这个问题。

或者,我可以去掉注释,不接触Configuration.cs文件。

在实体实例创建后设置断点并检查属性。CreatedDate设置正确吗?

相关内容

  • 没有找到相关文章

最新更新