Ошибка добавления миграции: указанная схема недопустима

Я не могу создать новую миграцию Add-Migration Testing

Версия пакета

Microsoft.AspNet.WebApi -> 5.0.0-бета1-130515
Microsoft.AspNet.WebApi.Client -> 5.0.0-бета1-130515
Microsoft.AspNet.WebApi.Core -> 5.0.0-бета1-130515
Microsoft.AspNet.WebApi.OData -> 5.0.0-бета1-130515
Microsoft.AspNet.WebApi.Web... -> 5.0.0-бета1-130515

ошибка

Когда я пытаюсь создать новую миграцию, возникает следующая ошибка:

PM> Add-Migration Testing System.Data.Entity.Core.MappingException: указанная схема недопустима. Ошибки: (0,0): ошибка 2025: сбой проверки схемы XML для схемы сопоставления. Сведения об ошибке схемы: атрибут http://schemas.microsoft.com/ado/2012/10/edm/migrations:IsSystem'не объявлен.. (0,0): ошибка 2025: сбой проверки схемы XML для схемы сопоставления, Сведения об ошибке схемы: атрибут http://schemas.microsoft.com/ado/2012/10/edm/migrations:IsSystem'не объявлен.. (0,0): ошибка 2025: сбой проверки схемы XML для схемы сопоставления, Сведения об ошибке схемы: атрибут http://schemas.microsoft.com/ado/2012/10/edm/migrations:IsSystem'не объявлен.. (0,0): ошибка 2025: сбой проверки схемы XML для схемы сопоставления, Сведения об ошибке схемы: атрибут http://schemas.microsoft.com/ado/2012/10/edm/migrations:IsSystem'не объявлен.. (0,0): ошибка 2025: сбой проверки схемы XML для схемы сопоставления, Сведения об ошибке схемы: атрибут http://schemas.microsoft.com/ado/2012/10/edm/migrations:IsSystem'не объявлен.. (0,0): ошибка 2025: сбой проверки схемы XML для схемы сопоставления, Сведения об ошибке схемы: атрибут http://schemas.microsoft.com/ado/2012/10/edm/migrations:IsSystem'не объявлен.. (0,0): ошибка 2025: сбой проверки схемы XML для схемы сопоставления, Информация об ошибке схемы: атрибут ' http://schemas.microsoft.com/ado/2012/10/edm/migrations:IsSystem' не объявлен.. в System.Data.Entity.Core.Mapping.StorageMappingItemCollection.Init (EdmItemCollection edmCollection, StoreItemCollection storeCollection, IEnumerable1 xmlReaders, IList1 filePaths, Boolean throwOnError) в System.Data.Entity.Core.Mapping.StorageMappingItemCollection..ctor(EdmItemCollection edmCollection, StoreItemCollection storeCollection, IEnumerable`1 xmlReaders) в System.Data.Entity.UtilitiesInol_DirectoryToGTMTM providerInfo) по адресу System.Data.Entity.) в System.Data.Entity.Migrations.Design.MigrationScaffolder.Scaffold(StringigrationName, Boolean ignoreChanges) в System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.Scaffold(MigrationScaffolder scaffolder) в System.Data.Ent..Design.ToolingFacade.ScaffoldRunner.Run() в System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate) в System.AppDomain.DoCallBack (CrossAppDomainDelegate callBackDelegate)
в System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner runner) в System.Data.Entity.Migrations.Design.ToolingFacade.Scaffold(StringigrationName, строковый язык, String rootNamespace, логическое игнорирование ignoreChanges) в System.Data.Entity.Migrations.AddMigrationCommand.Execute(имя строки, булево значение, логическое ignoreChanges) в System.Data.Entity.Migrations.AddMigrationCommand.<> C_ DisplayClass2.<. Ctor>b_0 () в System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Команда действия)

Код

Код довольно обширный. Это последние классы, которые изменились.

public class Entidade : EntityNome, IAuditavel
{
    public DateTime CriadoAs { get; set; }
    public virtual Usuario CriadoPor { get; set; }
    public DateTime? AtualizadoAs { get; set; }
    public virtual Usuario AtualizadoPor { get; set; }
}

public class Empresa : Entidade
{
    public string RazaoSocial { get; set; }
    public string CNPJ { get; set; }
    public string InscricaoEstadual { get; set; }
    public string WebSite { get; set; } 

    public virtual ICollection<Pessoa> Representantes { get; set; }
    public virtual Pessoa Contato { get; set; }

    public virtual ICollection<Telefone> Telefones { get; set; }
    public virtual ICollection<Endereco> Enderecos { get; set; }
    public virtual ICollection<Email> Emails { get; set; }
}   

public class Agencia : Empresa
{
    public string Identificacao { get; set; }
    public virtual Regional Regional { get; set; }
    public virtual ICollection<Pessoa> Gerentes { get; set; }
}   

public class Regional : EntityNome
{
    public virtual ICollection<Pessoa> Contatos { get; set; }
}

конфигурация

public class EntidadeConfiguracao : EntityTypeConfiguration<Entidade>
{
    public EntidadeConfiguracao()
    {
        Property(p => p.Nome).IsName(true);
        HasRequired(p => p.CriadoPor).WithMany().WillCascadeOnDelete(false);

        ToTable("Entidades");
    }
}

public class EmpresaConfiguracao : EntityTypeConfiguration<Empresa>
{
    public EmpresaConfiguracao()
    {
        HasMany(p => p.Telefones).WithMany().Map(m => m.ToTable("EmpresaTelefones"));
        HasMany(p => p.Emails).WithMany().Map(m => m.ToTable("EmpresaEmails"));
        HasMany(p => p.Enderecos).WithMany().Map(m => m.ToTable("EmpresaEnderecos"));
        HasMany(p => p.Representantes).WithMany().Map(m => m.ToTable("EmpresaRepresentantes"));

        ToTable("Empresas");
    }
}

public class AgenciaConfiguracao : EntityTypeConfiguration<Agencia>
{
    public AgenciaConfiguracao()
    {
        HasRequired(p => p.Regional).WithMany().WillCascadeOnDelete(true); //.HasForeignKey(p => p.RegionalId)
        Property(p => p.Identificacao).IsRequired().HasMaxLength(10);
        HasMany(p => p.Gerentes).WithMany().Map(m => m.ToTable("AgenciaGerentes"));

        ToTable("Agencias");
    }
}

public class RegionalConfiguracao : EntityTypeConfiguration<Regional>
{
    public RegionalConfiguracao()
    {
        Property(p => p.Nome).IsName(true);
        HasMany(p => p.Contatos).WithMany().Map(m => m.ToTable("RegionalContatos"));

        ToTable("Regionais");
    }
}    

Опубликовано в выпуске aspnetwebstack

1 ответ

Решение

Вы должны воссоздать ваши миграции. Взгляните на раздел "Что нужно знать" в объявлении EF6 Beta1

Вот соответствующий рабочий элемент на сайте EF codeplex.

Другие вопросы по тегам