如何让数据库在代码第一实体框架6中生成日期?

时间:2014-11-09 16:45:32

标签: entity-framework ef-code-first entity-framework-6

我的用户类中有一个属性creationdate,并带有数据注释

[DatabaseGenerated(DatabaseGeneratedOption.Computed)] 

我告诉EF,数据库在插入时自己生成了这个属性。

问题在于,当我创建迁移时,我必须手动编辑迁移文件,以告知创建的数据库该数据库需要生成此列,如下所示:

 CreateTable(
                "dbo.Comments",
                c => new
                    {
                        CommentId = c.Int(nullable: false, identity: true),
                        PostDate = c.DateTime(defaultValueSql: "GETDATE()"),
                        Title = c.String(),
                        Content = c.String(),
                        IsApproved = c.Boolean(nullable: false),
                        User_UserId = c.Int(),
                        Event_EventId = c.Int(),
                        Subject_SubjectId = c.Int(),
                    })
                .PrimaryKey(t => t.CommentId)
                .ForeignKey("dbo.Users", t => t.User_UserId)
                .ForeignKey("dbo.Events", t => t.Event_EventId)
                .ForeignKey("dbo.Subjects", t => t.Subject_SubjectId)
                .Index(t => t.User_UserId)
                .Index(t => t.Event_EventId)
                .Index(t => t.Subject_SubjectId);

我必须添加

defaultValueSql: "GETDATE()"

手动..我预计EF6足够聪明,可以通过检查属性类型自行生成。

问题:有没有相对简单的方法来解决这个问题,或者我做错了什么?

0 个答案:

没有答案