每个表中的列名必须是唯一的.表'dbo.Foos'中的列名'StripeRecipientId'被多次指定

Wat*_* v2 9 entity-framework code-first entity-framework-6

我有一个名为的模型类Foo,其中包括这些属性.

public string StripeRecipientId { get; set; }

public override bool HasProvidedBillingInformation
{
    get
    {
        // return !string.IsNullOrEmpty(this.StripeRecipientId);

        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我启用了迁移并且正在使用Code First.当我运行update-database命令行开关时,是否-Force指定了选项,我收到此错误:

Column names in each table must be unique. Column name 'StripeRecipientId' in table 'dbo.Foos' is specified more than once.

我进行了双重检查和三重检查,在我的模型和表格中只有一列该名称.这个专栏已经由前一次运行的update-database命令行开关创建了.

我很想删除我的数据库然后应用迁移,但这意味着我必须创建大量的测试数据才能测试我刚才正在处理的功能.

我正在使用Entity Framework v6.1.2.

我该如何摆脱这个错误?

lon*_*und 17

Add-Migration使用-IgnoreChanges标志运行命令.然后又跑Update-Database了.

-Update-

应在程序包管理器控制台中运行这些命令.从主菜单:Tools-> NuGet Package Manager - > Package Manager Console.

  • 我尝试此操作时收到错误:“找不到与参数名称‘ignorechanges’匹配的参数” (10认同)