【问题标题】:Entity framework and migration with datetime实体框架和带日期时间的迁移
【发布时间】:2012-06-06 15:42:51
【问题描述】:

我正在使用 EF 4.3 和随之而来的迁移脚本。 但我对一个没有创建他的字段的属性有疑问。

public class Test {
    [HiddenInput(DisplayValue = false)]
    public int Id { get; set; }

    [ScaffoldColumn(false)]
    public string Author { get; set; }

    [ScaffoldColumn(false)]
    public DateTime UpdateUtc { get; set; }

}

当我运行命令Add-Migration 时,这里是生成的代码:

    public override void Up()
    {
        CreateTable(
            "Test",
            c => new
                {
                    Id = c.Int(nullable: false, identity: true),
                    Author = c.String(),
                })
            .PrimaryKey(t => t.Id);

    }

我的第一个想法是因为 ScaffoldColumn 属性,但作者字段是正确添加的。我看到的唯一区别是字段UpdateUtc 的类型不是原始类型。

什么会导致这个问题?

谢谢

【问题讨论】:

    标签: c# entity-framework entity-framework-4 migration


    【解决方案1】:

    尝试手动添加,例如:

    UpdateUtc = c.DateTime()
    

    我认为应该是这样。然后使用更新命令更新数据库。 生成数据库时,请查看生成的列名,看看是否类似于[UpdateUtc]。如果是这样,那么名称 UpdateUtc 是保留的,不能使用。

    【讨论】:

    • 我最终做出了您建议的更改,但我只是想知道为什么 Add-Migration 无法自己添加它。要回答您的问题,列名不是保留关键字,因为它正确显示在数据库中。
    猜你喜欢
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 2015-05-11
    相关资源
    最近更新 更多