比方說,我們有這三個表:如何將複雜對象插入數據庫?
--Car--
ID
1
2
--Event--
ID CarID EventTypeID DateTimeAdded
1 1 1 2014-04-28 12:00:00
--EventType--
ID Name
1 "Entry Created"
2 "Entry added to sales chart"
3 "Entry removed from sales chart"
使用實體框架(EF 5在我的情況),一個如何將一個Car對象添加到數據庫中?我已經嘗試了許多不同的方法來完成此操作,包括下面的代碼,但沒有任何工作。
Car newCar = new Car(){ }
Event newEvent = new Event(){
CarID = newCar.ID,
EventTypeID = 2,
DateTimeAdded = Datetime.Now;
}
newCar.Event.Add(newEvent);
context.Car.Add(newCar);
context.SaveChanges();
任何援助將不勝感激。
編輯:發生context.SaveChanges()後出現在try catch中的異常。例外情況如下:
INSERT語句與FOREIGN KEY約束「FK_Event_EventType」衝突。衝突發生在數據庫「CarSystem」,表「dbo.EventType」,列'ID'
注意:這三個表之間存在關係,包括Event和EventType。這是否會導致問題?如果是這樣,我不知道如何解決它。
你的代碼似乎沒有錯(除了一些語法錯誤)。您創建一輛新車,將其添加到DbSet並保存。標準的東西。你在看數據庫嗎? –
是的,它正在查看正確的分貝。 context.SaveChanges()發生後,try catch中發生異常。以下是例外情況的內幕:INSERT語句與FOREIGN KEY約束「FK_Event_EventType」衝突。衝突發生在數據庫「CarSystem」,表「dbo.EventType」,列'ID'。 – flying227