【发布时间】:2009-12-15 09:55:30
【问题描述】:
在我的数据库中有一个日期时间列“已创建”,默认值为 getutcdate()。我希望我的 EF 数据上下文生成一个不设置此列的插入查询,并获取结果值。有没有办法做到这一点?
我尝试将 StoreGeneratedPattern 设置为 None、Identity 或 Computed,我得到一个异常,即 DateTime 无法转换为 datetime2(这意味着它试图在 0-0-0 插入 0:00)
如何设置我的 edmx 以允许在不指定初始 Created 值的情况下创建对象?
【问题讨论】:
-
您找到解决方案了吗?
-
@uhleeka 不幸的是我没有。我已经构建了通用代码来检查修改和/或添加的对象是否实现了接口,以及它们是否确实设置了创建和/或修改。我可以添加它作为这个问题的答案,但这更像是一种解决方法。我想知道为什么给定的答案对我不起作用。
-
经过更多挖掘,事实证明,通过(不恰当的)设计,设置 StoreGeneratedPattern 会修改 CDSL,但不会修改 SSDL。因此,您必须手动编辑 edmx xml 并将 SSDL StoreGeneratedPattern 属性设置为标识或计算。但是,每当您通过设计器更新您的 edmx 时,我认为您的更改会被吹走。 connect.microsoft.com/VisualStudio/feedback/details/505178/…
-
知道这个问题是否会很快得到解决?
标签: entity-framework linq-to-entities .net-4.0