我有2个班级:
公共课Retete
{
public Retete() { }
public int ID { get; set; }
public string Nume { get; set; }
public string Categorie { get; set; }
public string Grupa { get; set; }
public string Descriere { get; set; }
public string Ingrediente { get; set; }
public string Preparare { get; set; }
//Configure 1 to many relationship
//Foreign Key
[ForeignKey("GrupaIndivizi")]
public int GrupaID { get; set; }
[ForeignKey("GrupaID")]
public virtual GrupaIndivizi GrupaIndivizi { get; set; }
}
和
公共课GrupaIndivizi
{
public GrupaIndivizi(){}
[Key]
public int GrupaID { get; set; }
public string NumeGrupa { get; set; }
public virtual ICollection<Retete> Retetes { get; set; }
}
和创建的表
我的问题是如何使Retetes表中的GrupaID成为外键?
答案 0 :(得分:0)
在实体框架中创建外键的一种方法是:在密钥的Id旁边,您需要拥有该类型的对象。检查是否有效。
[Table("Retete")]
public class Retete
{
public Retete() { }
public int ID { get; set; }
public string Nume { get; set; }
public string Categorie { get; set; }
public string Grupa { get; set; }
public string Descriere { get; set; }
public string Ingrediente { get; set; }
public string Preparare { get; set; }
//Configure 1 to many relationship
//Foreign Key
[ForeignKey("GrupaIndivizis")]
public int GrupaIndiviziID { get; set; }
public GrupaIndivizi GrupaIndivizi { get; set; }
}
我还建议给表格提供一些更合适的名字,不要让EF产生名字。这可以通过Table
属性来完成。
你的FK没有生成核心,因为他试图绑定到GrupaIndivizi
表,但你有GrupaIndivizis
。