在ASP.NET MVC3中创建子对象

时间:2011-05-20 17:24:10

标签: c# asp.net-mvc entity-framework asp.net-mvc-3 inheritance

我使用Entity Framework 4创建了一个基于my(空)数据库的类模型,并按照this tutorial为每个类型继承设置了一个表,StudentProfessor继承抽象Person类。

一切正常,然后我继续创建Student控制器,生成的代码用于创建学生无效。我现在无法访问我的代码,所以我无法粘贴它,但Create函数是这样的:

function create(Student student){
    db.person.AddObject(student);
    db.person.SaveChanges();
}

这给我一个错误,说无法添加Student,因为数据库中没有Person并且有相应的密钥。我是asp.net的新手,但我相信数据库上下文在尝试插入学生表之前没有插入一个人。

对不起,我无法提供更多详细信息,如数据库设计图片或实际代码,但这是我现在能做的最好的。

谢谢!

1 个答案:

答案 0 :(得分:0)

现在看

datacontext    mainTable   subTable   what is needed to do.

   "db"     .  "person"  . "student" . blablabla

db据我所知是你的数据库上下文和人是你的表,你正在调用一个子表“学生”,需要与“人”有关系。所以在你的数据库中确保你的“人”和“学生”表有一把钥匙,并确保你们之间有关系。

如果您能提供更多信息,我可以提供更多帮助,但现在根据您的信息,这是我可以分享的唯一知识..