2010-09-14 524 views
2

我有以下實體 alt textADO.NET實體框架 - 複合主鍵CRUD

當你看到BudgetPost有複合主鍵是一個外鍵的實體類別和預算。我的問題是製作CRUD的最佳方式是什麼?有沒有辦法來映射外鍵?簡單的插入應該看起來像這樣:

Budget newBudget = new Budget(); 
       newBudget.BudgetName = textBox1.Text; 
       newBudget.FromDate = dateTimePicker1.Value; 
       newBudget.ToDate = dateTimePicker2.Value; 

       newBudget.BudgetPosts.Add(new BudgetPost { FKBudgetID = newBudget.BudgetID, FKCategoryID = 21, BudgetAmount = 700 }); 
       db.AddToBudgets(newBudget); 
       db.SaveChanges(); 

還有其他方法嗎?

提前致謝!

回答

2

利用您的導航特性。

BudgetPost newBudgetPost = new BudgetPost(); 
newBudgetPost.Budget = newBudget; 
newBudgetPost.Category = newCategory; //loaded somewhere, or created on the fly 

newBudget.BudgetPosts.Add(newBudget); 

也就是說,利用實體框架的力量。首先,創建您的加入條目並將預算和類別關聯在那裏。然後將budgetPost添加到預算中。調用SaveChanges時,所有內容都應該寫入。

+0

感謝您的回答 – ilkin 2010-09-15 19:18:33