2011-05-20 55 views
0

我使用實體框架4基於我的(空)數據庫創建了一個類模型,並且遵循this tutorial爲每個類型的繼承設置一個表,其中StudentProfessor繼承了抽象Person類。在ASP.NET MVC3中創建子對象

一切工作正常,然後我繼續創建Student控制器和創建學生生成的代碼不起作用。我沒有訪問我的代碼了,所以我不能貼吧,但Create功能是這樣的:

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

這是給我一個錯誤說的Student不能被添加,因爲數據庫中沒有Person與相應的密鑰。我對asp.net很陌生,但我相信數據庫上下文在嘗試插入到學生表之前並未插入一個人。

對不起,我不能提供像數據庫設計圖片或實際代碼的更多細節,但這是我現在可以做的最好的。

謝謝!

+1

後你的代碼,如果沒有它它只是猜測 – vittore 2011-05-20 18:38:01

+0

@vittore我知道這是還不夠,我希望能提供更多信息,但我現在無法訪問代碼。儘管如此,我敢肯定我發佈的摘錄是當我創建學生控制器時支持的代碼(我已經看過它很多小時它被燒燬在我的視網膜中) – Gabe 2011-05-20 18:48:26

+0

如何調用這個創建函數,什麼是學生'?它是來自表單的數據嗎? – vittore 2011-05-20 18:53:34

回答

0

現在

datacontext mainTable subTable what is needed to do. 

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

看分貝,據我的理解是烏拉圭回合的數據庫環境和人UR表,你調用一個子表「學生」,這需要有「人」的關係。所以在你的數據庫中確保你的「人」和「學生」表有一個關鍵,並確保你有他們之間的關係。

如果u可以給更多的信息我能幫助進一步不過現在根據烏拉圭回合的信息,這是唯一的知識,我可以分享..