您好我在EF中使用TPT继承。我有BaseClass = AspNetUser。 SubClasses =雇主和雇员。我想添加一个与AspNetUser具有1-M关系的Document类,这样您就只能看到自己的文档了。例如,当我尝试从雇主屏幕添加文档时,我想将一个项目添加到雇主文档集合中。但它没有向数据库添加记录。将项目添加到此集合的正确方法是什么。你必须导航到基类? 我希望能够做这样的事情
var avatar = new Document {...}
employer.Documents = new List<Document> { avatar };
db.Entry(employer).State = EntityState.Modified;
db.SaveChanges();
答案 0 :(得分:1)
首先在AspNetUser
类中,在构造函数中初始化集合Documents
,如下面的代码所示。如果你正在使用Database First方法,那么这已经由EDMX完成了:
public AspNetUser()
{
this.Documents = new List<Documents>();
}
其次,要在Documents
集合中添加新文档,请执行以下操作:
var avatar = new Document {...}
employer.Documents.Add(avatar);
db.SaveChanges();
确保从Employee
。
DbContext
个实例