【问题标题】:EF6 Code first database table not createdEF6 代码第一个数据库表未创建
【发布时间】:2014-07-16 18:43:11
【问题描述】:

我用这个连接字符串建立了一个新的数据库:

<add name="XName" connectionString="Data Source=XX\SQLEXPRESS;Initial Catalog=XDatabase;User ID=dbo_XDatabase;Password=Password1" providerName="System.Data.SqlClient" />

我添加了一个模型,添加了一个迁移并运行了update-database,但没有创建表。

这是生成的迁移代码:

public partial class MagicWombat : DbMigration
{
    public override void Up()
    {
        CreateTable(
            "dbo.Languages",
            c => new
                {
                    ID = c.Guid(nullable: false),
                    Name = c.String(nullable: false, maxLength: 100),
                    Code = c.String(nullable: false, maxLength: 10),
                    IsEnabled = c.Boolean(nullable: false),
                })
            .PrimaryKey(t => t.ID);

    }

    public override void Down()
    {
        DropTable("dbo.Languages");
    }
}

一切似乎都运行成功,包括我的种子方法。我已经测试了与数据库的连接,它工作正常。现在,如果我创建另一个迁移,它不会再次为我的表生成代码,所以它似乎认为它已成功创建,但实际上并没有。

为什么我的表没有创建?

【问题讨论】:

  • 你说我已经测试了与数据库的连接,它工作正常。你能详细说明一下吗,你是否尝试过使用连接中的用户帐户实际登录数据库字符串并创建和播种测试数据库和表。我希望权限问题会引发异常,但值得检查一下,以防它没有设置对数据库足够高的权限。

标签: c# entity-framework asp.net-mvc-4 ef-code-first


【解决方案1】:

删除我的数据库并重新创建它解决了这个问题。奇怪..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 2013-12-26
    相关资源
    最近更新 更多