我正在与其他学生一起使用 Team Foundation Server 在线作为源代码,我们的客户是 Visual Studio 。
每当我浏览应用程序或单击与我的数据库实体相关的任何内容时,我是唯一一个遇到以下异常错误的人:
"类型' System.InvalidOperationException'的例外情况发生在EntityFramework.dll中,但未在用户代码中处理。"
我尝试更新数据库,但我也遇到了这个错误:
"已经有一个名为' Post'在数据库中。"
我也做了Add-migration"新移植的名称",但我一直这样做:
"由于以下显式迁移未决,因此无法生成显式迁移:[201502020217243_InitialCreate]。在尝试生成新的显式迁移之前应用挂起的显式迁移。" InitialCreate.cs的代码:
namespace Aliens.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class InitialCreate : DbMigration
{
public override void Up()
{
CreateTable(
"dbo.Post",
c => new
{
PostID = c.Int(nullable: false, identity: true),
Alias = c.String(),
Location = c.String(),
PostDate = c.DateTime(nullable: false),
PostTitle = c.String(),
PostMessage = c.String(),
})
.PrimaryKey(t => t.PostID);
CreateTable(
"dbo.Profile",
c => new
{
ProfileID = c.Int(nullable: false, identity: true),
FirstName = c.String(),
LastName = c.String(),
ProfileAlais = c.String(),
})
.PrimaryKey(t => t.ProfileID);
AddColumn("dbo.Alien", "Post", c => c.String());
}
public override void Down()
{
DropColumn("dbo.Alien", "Post");
DropTable("dbo.Profile");
DropTable("dbo.Post");
}
}
}
Configuration.cs的代码是:
namespace Aliens.Migrations
{
using System;
using System.Data.Entity;
using System.Data.Entity.Migrations;
using System.Linq;
internal sealed class Configuration : DbMigrationsConfiguration<Aliens.DAL.AlienContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = false;
ContextKey = "Aliens.DAL.AlienContext";
}
}
}
答案 0 :(得分:0)
我创建了一个空的Up()方法,注释掉了真正的一个InitialCreat.cs,运行它,现在我可以创建下一个迁移。
我终于通过我为每个待处理的迁移所做的事情解决了它,正如我在上面描述的那样。然后我使用这个可爱的命令Add-Migration Initial -IgnoreChanges