如何使用实体框架管理GetDate()

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (27)

在我的数据库表中有这样一个列

DateCreated, datetime, default(GetDate()), not null

我试图使用实体框架在这个表上做一个插入

        PlaygroundEntities context = new PlaygroundEntities();

        Person p = new Person
        {
            Status = PersonStatus.Alive,
            BirthDate = new DateTime(1982,3,18),
            Name = "Joe Smith"
        };

        context.AddToPeople(p);
        context.SaveChanges();

当我运行这段代码时,我会得到以下错误

The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.\r\nThe statement has been terminated.

所以我试着把StoreGeneratedPattern设置为计算相同的东西。

提问于
用户回答回答于

将DateCreated的类型更改为datetime 2可能会解决这个问题。

日期:200705-08 12:35:29.123

日期2 2007-05-08 12:35:29。12345

用户回答回答于

必须手动编辑edmxXML,并将SSDLStoreGeneratedPattern属性设置为Identity或Computed。但是,每当通过设计器更新的edmx时,更改将被覆盖。

这是一个众所周知的问题。详情请参阅下列连结:

ARMMicrosoftConnect票证

在实体框架4中使用GUID作为EntityKey

扫码关注云+社区