【问题标题】:ADO.NET Entity Framework - Composite primary key CRUDADO.NET Entity Framework - 复合主键 CRUD
【发布时间】:2010-09-14 18:46:22
【问题描述】:

我有以下实体

如您所见,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();

还有其他方法吗?

提前致谢!

【问题讨论】:

    标签: c# asp.net entity-framework ado.net-entity-data-model


    【解决方案1】:

    利用您的导航属性。

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

    也就是说,利用实体框架的力量。首先,创建您的加入条目并在那里关联预算和类别。然后将budgetPost 添加到预算中。当您调用 SaveChanges 时,所有内容都应该被写入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-18
      • 2010-09-12
      相关资源
      最近更新 更多