实体框架:对象为null,但外键不是

时间:2018-10-07 15:08:15

标签: c# model .net-core foreign-keys ef-core-2.1

我正在学习.NET Core和EF Core,但是我已经遇到了问题。

我从头开始创建了代码,

这是我的代码:

public class DBContext : DbContext
{
    public DbSet<Muscle> Muscle { get; set; }
    public DbSet<Exercice> Exercice { get; set; }
}
public class Muscle
{
    [Key]
    public int id { get; set; }
    public string nom { get; set; }

    public virtual ICollection<Exercice> Exercices { get; set; }
}
public class Exercice
{
    [Key]
    public int id { get; set; }
    public string libelle { get; set; }

    public int MuscleId { get; set; }
    public virtual Muscle Muscle { get; set; }
}

当我尝试获取第一个“练习”时,他的“ MuscleId”为“ 1”,但他的“ Muscle”为空... 如果我尝试获得我的第一个“肌肉”,那么“练习”也将为空...

enter image description here

要完成这项工作,我需要做些什么吗? 谢谢

1 个答案:

答案 0 :(得分:0)

您的肌肉类主键应与运动类上的外键匹配。这样。

public class Muscle
{
    [Key]
    public int MuscleId { get; set; }
    public string nom { get; set; }
    public virtual ICollection<Exercice> Exercices { get; set; }
}

或使用     [ForeignKey]属性。 你可以在这里阅读更多。 http://www.entityframeworktutorial.net/code-first/foreignkey-dataannotations-attribute-in-code-first.aspx