【问题标题】:Sequence contains more than one matching element on schema update序列在模式更新时包含多个匹配元素
【发布时间】:2016-08-30 17:13:09
【问题描述】:

我正在像这样使用 ef-core 继承:

public abstract class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    public PersonType PersonType { get; set; }
    public int PersonTypeId { get; set; }
    public double Height { get; set; }

    [Timestamp]
    public byte[] Timestamp { get; set; }
}

public class Daughter : Person
{
    public double Weigth { get; set; }
    public DateTime SomeDate { get; set; }
}

public abstract class Son : Person
{
    public DateTime BirthDate { get; set; }
    public DateTime GraduationDate { get; set; }
}

public class SingleSon : Son
{
}

public class SonWithDaughter : Son
{
    public int Daughter { get; set; }
    public Daughter Daughter { get; set; }
}

在 DbContext 中:

    public DbSet<PersonType> PersonTypes { get; set; }
    public DbSet<Daughter> Daughters { get; set; }
    public DbSet<SingleSon> SingleSons { get; set; }
    public DbSet<SonWithDaughter> SonWithDaughters { get; set; }

当我更新 sql server 数据库(dotnet ef 数据库更新)时,它会抛出一个

System.InvalidOperationException,序列包含多个 匹配元素

关于如何解决这个问题的任何想法?

更新

ef migrations console output

【问题讨论】:

  • 除模型外,我们还需要查看产生此错误的代码。
  • @Amy 从控制台添加迁移时产生的错误(dotnet ef...)用输出更新了问题
  • 它现在被称为EntityFrameworkCore 并且承载版本1.0。 EF7 这个名字不再使用,也不应该再使用了,因为人们将它与遗留框架的新版本混淆了,但它是一个全新的重写并且与旧的 EF 不兼容

标签: entity-framework inheritance asp.net-core entity-framework-core


【解决方案1】:

这是问题#5894。它将在版本 1.0.1 中修复。在发布之前,您可以使用the nightly feed

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多