getdate() 不适用于实体框架
本文关键字:实体 框架 适用于 不适用 getdate | 更新日期: 2023-09-27 18:26:01
所以我的数据库中有一个名为 Timestamp
的列,默认值为 GetDate()
.
每当我使用实体框架插入记录时,Timestamp
null
.
为什么会这样呢?
编辑 EDM,请进行以下更改:
Type="datetime"
Nullable="false"
StoreGeneratedPattern ="Computed"
ref:
http://bibby.be/2009/07/entity-framework-sql.html
尝试将类型更改为日期时间 2。 有关详细信息,请参阅此文章。 还可以尝试使用计算存储生成模式
尝试更改为 datetime2,然后通过添加触发器来解决问题
SET NOCOUNT ON;
UPDATE ASBLAH
SET YourFieldChangeTime = getdate()
WHERE YOURId IN(SELECT AS_ID FROM INSERTED)
如果您需要读取此日期的数据,则可以在上下文之后执行此操作。保存更改((
context.Refresh(System.Data.Objects.RefreshMode.StoreWins, p);
实体框架可能正在创建一个包含所有字段的插入语句,null
是Timestamp
的值,因为您没有提供一个。
如果该列允许null
,则这就是将插入的内容。如果不允许null
,则将使用默认值,该值将解析为 GetDate()
。
您的餐桌需要允许null
吗?