你能帮助我吗?
namespace mvcAmerica.Models
{
public class ArtModels
{
[Key]
public int idArt { get; set; }
[Required(ErrorMessage="Codigo del Articulo es Requerido")]
public string co_art { get; set; }
[Required]
public string des_art { get; set; }
[Required]
public string modelo { get; set; }
[Required]
public string referencia { get; set; }
[ForeignKey("LineaModels")]
public int IdLinea { get; set; }
public LineaModels Linea { get; set; }
}
public class LineaModels
{
[Key]
public int IdLinea { get; set; }
[Required(ErrorMessage="Indique el Codigo")]
public string co_lin { get; set; }
[Required(ErrorMessage = "Indique la Descripción")]
public string des_lin { get; set; }
}
}
错误:
属性'IdLinea'上的ForeignKeyAttribute类型 'mvcAmerica.Models.ArtModels'无效。导航属性 在依赖类型上找不到“LineaModels” 'mvcAmerica.Models.ArtModels'。 Name值应该是有效的 导航属性名称。
答案 0 :(得分:2)
你需要改变这个:
[ForeignKey("LineaModels")]
public int IdLinea { get; set; }
public LineaModels Linea { get; set; }
对此:
[ForeignKey("Linea")]
public int IdLinea { get; set; }
public virtual LineaModels Linea { get; set; }
需要匹配属性名称。
我刚刚创建了以下应用程序,没有任何问题:
public class ArtModels
{
[Key]
public int idArt { get; set; }
[Required(ErrorMessage = "Codigo del Articulo es Requerido")]
public string co_art { get; set; }
[Required]
public string des_art { get; set; }
[Required]
public string modelo { get; set; }
[Required]
public string referencia { get; set; }
[ForeignKey("Linea")]
public int IdLinea { get; set; }
public virtual LineaModels Linea { get; set; }
}
public class LineaModels
{
[Key]
public int IdLinea { get; set; }
[Required(ErrorMessage = "Indique el Codigo")]
public string co_lin { get; set; }
[Required(ErrorMessage = "Indique la Descripción")]
public string des_lin { get; set; }
}
public class AppContext : DbContext
{
public DbSet<ArtModels> ArtModelses { get; set; }
public DbSet<LineaModels> LineaModelses { get; set; }
}
所以你必须遗漏别的东西吗?
答案 1 :(得分:1)
你必须改变这个:
[ForeignKey("LineaModels")]
public int IdLinea { get; set; }
对此:
[ForeignKey("Linea")]
public int IdLinea { get; set; }
ForeignKey
名称必须与导航属性相同(此处为Linea
)。