我有以下实体
如您所见,BudgetPost有一个复合主键,它是实体Category和Budget的外键。我的问题是制作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();
还有其他办法吗?
提前致谢!
最佳答案
利用您的导航属性。
BudgetPost newBudgetPost = new BudgetPost();
newBudgetPost.Budget = newBudget;
newBudgetPost.Category = newCategory; //loaded somewhere, or created on the fly
newBudget.BudgetPosts.Add(newBudget);
也就是说,利用Entity框架的功能。首先,创建您的加入条目,然后在其中关联“预算”和“类别”。然后将budgetPost添加到预算中。调用SaveChanges时,所有内容均应写入。
关于c# - ADO.NET Entity Framework -复合主键CRUD,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3711938/