使用工作单元时获取自动增量的最新ID

时间:2017-06-03 20:44:02

标签: asp.net asp.net-mvc model-view-controller asp.net-mvc-5 unit-of-work

我有两张桌子。一个是产品(基本表),另一个表是产品类(具有产品类的特定属性)。我在特定表中保留产品的ID(来自产品表)。当我尝试使用工作单元时出现问题。我必须在产品(基本)表中获取添加项的ID,但由于我没有提交事务,因此ID不存在(因为我在数据库中使用自动增量)。当我没有使用工作单元时,我在C#中具有对象的优势,它们是引用类型,我可以在将其保存到表后立即从新添加的产品项(产品表)中轻松获取ID用(context.SaveChanges()方法)但现在....任何想法? PS:MVC

1 个答案:

答案 0 :(得分:0)

执行类似下面的代码:

            db.MyJobContext.Add(job);
            db.SaveChanges();
            //get inserted Id
            int JobId = job.Id;

            var JobProvObj = new JobProvRel();
            JobProvObj.JobId = JobId;

            foreach (int P_id in Provinces)
            {
                JobProvObj.ProvinceId = P_id;
                db.MyJobProvRelContext.Add(JobProvObj);
                db.SaveChanges();
            }