通常在我的SQL Server数据库中,我将声明一个CreatedDate字段。它设置为不可为空,默认值为GetDate()。这可以很好地强制创建日期。
我无法使用EF4.1来了解如何执行此操作。我在设计器中看到有一个默认值的位置,但我不确定我是否可以为此输入函数。
我也尝试在EF设计器中将其设置为可空,只是让SQL Server进行填充,但它不喜欢这样。
有什么建议吗?
答案 0 :(得分:1)
除非您将GetDate
列标记为CreatedDate
至StoreGeneratedPattern
,否则在使用EF时无法使用Identity
。在这种情况下,您将无法在应用程序中设置此值,数据库将对此负责。
如果未设置StoreGeneratedPattern
,则必须在应用程序中设置数据(设计人员不允许将默认值设置为当前日期)。因此,您必须手动填充CreatedDate
或使用某些技巧,例如您自己的实体类的部分部分,并使用默认构造函数设置此属性:
public partial class YourEntity
{
public YourEntity()
{
CretedDate = DateTime.Now;
}
}