我們最近決定首先在我們的一個項目中使用EF6代碼,所以我正在進行範式改變。我非常喜歡EF,但有些事情是如此不同,他們似乎錯了。帶小孩的實體框架
我只想運行社區的方案,看看我是否正確思考。
我們有一個具有相同類型的子實體的實體。
如果我正常保存一個孩子,我只會保存一個新的實體,其父母id設置爲父母的ID。
public class SomeType
{
public id;
....
public virtual IList<SomeType> Children
}
顯然標準的做法並不在這裏,因爲我不是手動操縱DB外鍵的工作:在實體世界裏,他們是通過同一類型的導航屬性如下連接。
看來「實體方式」將首先使用DBCcontext和linq來選擇父級,然後將新實體添加到Children
列表並保存整個事情。
這是好的和合乎邏輯的 - 但它似乎有點低效率做一個選擇每次我做一個保存。
我是否真的錯過了這裏的東西,我只是需要習慣於不同的思維方式嗎?
謝謝!
您的標題應該是:「實體框架 - 拯救孩子」。 –
看到這個:http://stackoverflow.com/questions/6913771/insert-record-in-child-table-when-parent-record-already-exists-using-entity-fram –
@PaulDraper我不能相信我錯過了那個機會...... :) – americanslon