在我的SQL Server数据库中,我经常声明一个CreatedDate字段。它被设置为不可为空,默认值为GetDate()。这可以很好地强制创建日期。
我想不出如何使用EF4.1来做到这一点。我在设计器中看到了默认值的位置,但我不确定是否可以为此输入一个函数。
我还尝试在EF设计器中将其设置为可空,并让SQL Server进行填充,但它不喜欢这样。
有什么建议吗?
发布于 2011-11-18 19:32:06
使用EF时不能使用GetDate,除非将CreatedDate列标记为StoreGeneratedPattern to Identity。在这种情况下,您将无法在应用程序中设置此值,数据库将负责此操作。
如果不设置StoreGeneratedPattern,则必须在应用程序中设置数据(设计器不允许将默认值设置为当前日期)。因此,您必须手动填充CreatedDate,或者使用某些技巧,例如使用默认构造函数设置此属性的实体类的部分:
public partial class YourEntity
{
public YourEntity()
{
CretedDate = DateTime.Now;
}
}https://stackoverflow.com/questions/8174454
复制相似问题