0

MVC3 和实体框架新手在这里。我正在尝试编写一个控制器来处理编辑和创建新条目。到目前为止,这是我的代码(大部分是自动生成的)

    //POST: /License/Save
    [HttpPost]
    public string Save(LICENSE_USER license_user)
    {
        if (license_user.License_ID != 0)
        {
            if (ModelState.IsValid)
            {
                db.Entry(license_user).State = EntityState.Modified;
                db.SaveChanges();
                return "Save Complete";
            }
        }
        else
        {

            if (ModelState.IsValid) {
                db.LICENSE_USER.Add(license_user);
                db.SaveChanges();
                return "New License created - " + license_user.License_ID;
            }
        }
        return "What's going on here?";
    }

它非常适合编辑,因为我在 POST 中包含了 License_ID 字段。但是,对于新条目,我排除了 License_ID 字段,它默认为 0。获取下一个 License_ID 字段并使用该字段更新对象的最优雅方法是什么?

4

1 回答 1

2

使License_ID数据库中的列成为主自动增量键。这样您在插入新实体时就不需要手动设置它。数据库将负责。

在您的 EDMX 模型中,该StoreGeneratedPattern属性必须设置Identity为该属性。

于 2012-06-12T16:43:48.327 回答