Code First EF6不检索类

时间:2017-08-14 04:20:20

标签: c# ef-code-first entity-framework-6 code-first

EF6新手。我有几个正在加载的类,但其中一个不好玩。

这是违规类

public class Family
{
    public int FamilyId { get; set; }
    public string Name { get; set; }
    public string Standing { get; set; }

    public virtual Person Father { get; set; }

    public virtual Person Mother { get; set; }

    public virtual Person Spouse { get; set; }
    public virtual ICollection<Person> Siblings { get; set; }
    public virtual ICollection<Person> Children { get; set; }
}

这是父类

public class Ven
{
    public int VenId { get; set; }
    ...
    public virtual Family Family { get; set; }
    public virtual ICollection<Devotion> Devotions { get; set; }
    ...
}

正在运作的其他人之一

public class Devotion
{
    public int DevotionId { get; set; }
    public string Name { get; set; }
    public int Rank { get; set; }
}

我用一粒曾经非常简单的种子填充它们,但随着我一直试图找出正在发生的事情而爆炸。

context.Families.AddOrUpdate(
    f => f.FamilyId,
    new Family
    {
        FamilyId = 1,
        Name = "Tal",
        Standing = "Baron",
        Father = context.Persons.Find(1),
        Mother = context.Persons.Find(2),
        Children = new List<Person> {context.Persons.Find(3)}
    }
);

...
Family = context.Families.Find(1)
...
Devotions = new List<Devotion> { context.Devotions.Find(1), context.Devotions.Find(2) },

我已经阅读了几篇SO帖子试图解决这个问题,但找不到任何有用的东西。

编辑1: 好吧,所以我尝试过一些东西。我完全删除了数据库并重新启动它。我仍然遇到同样的问题。

我已经确认家庭已添加到表格中。通过抛出错误,我已经确认ID是通过ID找到的。

但Ven Table仍未在其Family_FamilyId列中获取值,即使系列已分配给它。

非常感谢任何帮助。 DataBase

编辑2: Entire Seed Function。这曾经是一个很大的“新Ven”。

1 个答案:

答案 0 :(得分:0)

好吧,老实说,我不知道为什么,但是将Seed放入初始化器并将[new Ven]声明放回到一个巨大的添加中,使它再次开始工作。