2011-10-05 105 views
0

以下引發異常。Linq InsertOnSubmit引發異常:對象引用未設置爲對象的實例

course傳遞給InsertOnSubmit的對象是由Linq生成的Course類型。

public ActionResult Course(CourseViewModel c) 
{ 
    Course course = (Course) c; //CourseViewModel is derrived from Course 
    SchedulerDataContext db = new SchedulerDataContext(); 
    db.Courses.InsertOnSubmit(course); // <- this is where exception is thrown 
    db.SubmitChanges(); 
} 

已經有關於這個herehere的問題,但是,我不明白他們的答案。據說我沒有及時創建一個對象。哪個對象和什麼需要發生?

+0

如何創建'course'? – BrokenGlass

+0

當然在linq-to-sql文件中生成 –

+0

更新了代碼問題,希望它能夠澄清我的問題 –

回答

1

在嘗試插入之前,您需要創建課程對象。

Course course = new Course { ... set the properties .. }; 
SchedulerDataContext db = new SchedulerDataContext(); 
db.Courses.InsertOnSubmit(course); 
db.SubmitChanges(); 
+0

奇怪,因爲我在做課程course =(Course)CourseModelView CourseModelView繼承Course對象。所以課程對象被設置了。 –

+0

@ dev.e.loper繼承可能會非常棘手,除非您的數據上下文設置正確。你可以嘗試創建一個新的課程,並將模型中的屬性複製到它而不是執行演員?這可能不是你的問題,但我需要看到更多的代碼,如果不是這樣。 – tvanfosson

+0

課程對象已被設置,但不是您所描述的方式。我用描述我如何設置的線條更新了我的問題。你能告訴我爲什麼我的方式不起作用嗎? –

相關問題