EF4.1插入当前日期/时间

时间:2011-11-17 21:19:18

标签: sql-server-2008 datetime entity-framework-4.1

通常在我的SQL Server数据库中,我将声明一个CreatedDate字段。它设置为不可为空,默认值为GetDate()。这可以很好地强制创建日期。

我无法使用EF4.1来了解如何执行此操作。我在设计器中看到有一个默认值的位置,但我不确定我是否可以为此输入函数。

我也尝试在EF设计器中将其设置为可空,只是让SQL Server进行填充,但它不喜欢这样。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

除非您将GetDate列标记为CreatedDateStoreGeneratedPattern,否则在使用EF时无法使用Identity。在这种情况下,您将无法在应用程序中设置此值,数据库将对此负责。

如果未设置StoreGeneratedPattern,则必须在应用程序中设置数据(设计人员不允许将默认值设置为当前日期)。因此,您必须手动填充CreatedDate或使用某些技巧,例如您自己的实体类的部分部分,并使用默认构造函数设置此属性:

public partial class YourEntity
{
    public YourEntity()
    {
        CretedDate = DateTime.Now;
    }
}