我读完了我能找到的其他答案,但没有一个能帮助我。我对.NET,Entity,C#等都很陌生。所以我希望你能原谅我。我正在尝试创建一个“种子”文件,当我尝试单独播种所有表时,当它是一个相关的表时,我会收到错误。我不仅想要看到一张儿童餐桌,还要看一个孙子(希望这很有意义)。例如,由于我发现了一个帖子,这就是我现在正在尝试的内容:
context.Projects.AddOrUpdate(i => i.ProjectID,
new Project
{
ProjectID = 1,
Title = "Project 1",
ProjectDoc = new List<ProjectDoc>
{
new ProjectDoc {
ProjectDocID = 1, ProjectID = 1, Content = "Doc Content", DocTitle = "Chapter 1",
Comment = new List<Comment>
{
new Comment { ProjectDocID = 1, CommentID = 1, Text = "Comment text" }
}
}
}
}
);
我的问题是:
Comment = **new** List<Comment>
“new”导致错误:无法隐式转换类型'System.Collections.Generic.List ....
我试图谷歌,但我不明白我发现的行话。帮助
答案 0 :(得分:1)
虽然它与您的问题没有直接关系,但您不应将AddOrUpdate
用于对象图。该方法的内部逻辑不会检查相关对象,因此您可以解决您的问题并使其工作,但只有添加部分才能正常运行。当您添加,更新或删除ProjectDoc
或Comment
时,Seed
方法将无法识别更改。它只能直接识别Project
实例中的更改。