2017-06-28 56 views
0

我想首先更新我的数据库代码,但我得到的运行Add-转移命令后,该错误模式中的每个类型名称必须是唯一的。代码首先

One or more validation errors were detected during model generation: 

ServicioTest.ErrorDispositivo: Name: Each type name in a schema must be 
unique. Type name 'ErrorDispositivo' is already defined. 

我已经尝试了很多可能的解决方案:

  • 干净重建
  • 删除迁移文件夹和数据库表
  • 更改连接字符串名称
  • 删除bin文件夹,然后重建

但是不起作用。

我的数据是

public class ModeloDatos : DbContext 
{ 

    public ModeloDatos() 
     : base("name=ModeloDatos") 
    { 
    } 
    public virtual DbSet<Dispositivos> Dispositivos { get; set; } 
    public virtual DbSet<Solicitud> Solicitudes { get; set; } 
    public virtual DbSet<Aplicacion> Aplicaciones { get; set; } 
    public virtual DbSet<Log> Logs { get; set; } 
    public virtual DbSet<ErrorDispositivo> ErroresDispositivo { get; set; } 
    public virtual DbSet<FormatoTemplate> FormatosTemplate { get; set; } 
} 

[Table("Dispositivos")] 
public class Dispositivos 
{ 
    [Key] 
    public string DispositivoID { get; set; } 

    //propiedad de navegacion 
    public virtual ICollection<Solicitud> Solicitudes { get; set; } 
} 



[Table("Solicitudes")] 
public class Solicitud 
{ 
    //primary key 
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int SolicitudID { get; set; } 
    public DateTime Fecha { get; set; } 
    public string Ip { get; set; } 


    public string DispositivoID { get; set; } 
    [ForeignKey("DispositivoID")] 
    public virtual Dispositivos Dispositivo { get; set; } 


    public Respuesta DatosRespuesta { get; set; } 


} 


[Table("Aplicaciones")] 
public class Aplicacion 
{ 
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int Id { get; set; } 

    public string Usuario { get; set; } 

    [DataType(DataType.Password)] 
    public string Clave { get; set; } 

    public Guid Codigo { get; set; } 

    public bool Habilitado { get; set; } 

} 

[Table("Logs")] 
public class Log 
{ 
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int Id { get; set; } 
    public string Descripcion { get; set; } 
    public string StackTrace { get; set; } 
} 

[ComplexType] 
public class Respuesta 
{ 

    public string Codigo { get; set; } 
    [ForeignKey("Codigo")] 
    public virtual ErrorDispositivo TipoErrorDispositivo { get; set; } 


    public string Mensaje { get; set; } 
    public string FingerPrint1 { get; set; } 
    public string FingerPrint2 { get; set; } 


} 

[Table("ErrorDispositivos")] 
public class ErrorDispositivo 
{ 
    [Key] 
    public string Codigo { get; set; } 
    public string Descripcion { get; set; } 
} 


[Table("FormatoTemplates")] 
public class FormatoTemplate 
{ 
    [Key] 
    public int Codigo { get; set; } 
    public string Formato { get; set; } 
} 

我怎样才能解决这个问题?

回答

0

我相信这个问题会随着复杂类型和

public virtual ErrorDispositivo TipoErrorDispositivo { get; set; } 

你不能有复杂类型中的导航性能。这应该被拉出到需要这种关系的实体。

相关问题