【发布时间】:2012-02-03 17:45:57
【问题描述】:
我们在一个 ASP.NET 应用程序中使用 EF 4.2,该应用程序通过 Oracle 的 EF 提供程序链接到一个 Oracle 11 g 数据库。 父表称为 CASE_PHASE 并有一个称为 ID 的主键。子表称为 CASE_STAGE 并有一个称为 ID 的主键。使用插入前触发器插入的两个主键。这个question 暗示触发器可能是问题所在。
这段代码看起来像我在 Julia Lerman 的书中找到的示例,但只插入了一个新的 CASE_PHASE。没有抛出异常,但没有插入孩子。
//from the controllers CREATE with hard coded values for testing purposes
// POST: /CasePhase/Create
[HttpPost]
public ActionResult Create(CASE_PHASE case_phase)
{
var caseStage = new CASE_STAGE
{
CREATED_BY_USER_ID = 1604,
LAST_MODIFIED_BY_USER_ID = 1604,
CURRENT = 1,
STAGE_ID = 1752,
DATE_CREATED = DateTime.Now,
DATE_LAST_MODIFIED = DateTime.Now
};
if (ModelState.IsValid)
{
//join new stage to phase
caseStage.CASE_PHASE = case_phase;
//attach linked entities to context
//debugging shows case_phase has the values it needs
//but caseStage does not
db.CASE_PHASE.Attach(case_phase);
db.CASE_PHASE.Add(case_phase);
db.SaveChanges();
我错过了什么?
【问题讨论】:
标签: entity-framework-4 oracle11g