按实体框架创建记录时未插入数据库缺省值

s.k*_*aul 8 c# asp.net-mvc entity-framework sql-server-2008-r2

我在sqlserver 2008中有一个LoginRecord表,其中包含以下列结构 -

LoginId      - int, identity
UserId       - int
LoginDateTime- Allow nulls false,default value getdate()
Run Code Online (Sandbox Code Playgroud)

我按实体框架6插入新记录如下 -

 db.LoginRecords.Add(new LoginRecord() { UserId = UserId }); 
 db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

但是在LoginDateTime表中,正在插入空值.它应该是当前的日期时间.

我正在使用数据库第一种方法.

怎么能克服这个问题?

The*_*haj 7

将我的两条评论合并到一个答案中.

尝试将EDMX文件中日期时间的"StoredGeneratedPattern"属性设置为Computed.从以下主题:http://www.stackoverflow.com/a/4688135/2488939

为此,请单击edmx文件转至edmx文件设计器.然后找到你的桌子和财产.右键单击要更改的表中的列,然后单击属性.然后应该出现属性窗口,您将看到其中一个属性"StoredGeneratedPattern".将其更改为计算.