C# 我想截取并更改添加控制器操作中Context.SaveChanges()前面的一个字段

C# 我想截取并更改添加控制器操作中Context.SaveChanges()前面的一个字段,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,如果此用户不存在Batch_ID,我将创建一个。这很有效。保存的记录使用的是Batch_ID=0,在保存之前,我创建了Batch_ID,并希望将其用于行的Batch_ID列 if(Session["ThisBatch"].Equals(0)) { var newbatchid = CheckAndMakeBatchIfNone(); } //RIGHT HERE IS WHERE I'D PREFER TO INTERCEPT AND CHANGE // THE Batch_ID.Va

如果此用户不存在Batch_ID,我将创建一个。这很有效。保存的记录使用的是Batch_ID=0,在保存之前,我创建了Batch_ID,并希望将其用于行的Batch_ID列

if(Session["ThisBatch"].Equals(0))
{
    var newbatchid = CheckAndMakeBatchIfNone();
}

//RIGHT HERE IS WHERE I'D PREFER TO INTERCEPT AND CHANGE
// THE Batch_ID.Value TO newbatchid variable contents. 
//THEN I SAVE. HOW CAN I JUMP INTO bucket, CHANGE THAT FIELD, AND JUMP OUT? 
//bucket is the Model the Add View is hooked to.

_db.AddToBactiBucket(bucket);
_db.SaveChanges();
return RedirectToAction("AddColiform");

假设您只想在
Session[“ThisBatch”].Equals(0)
为真时执行,只需在创建
newbatchid
后立即将
bucket.Batch\u ID
设置为
newbatchid

if (Session["ThisBatch"].Equals(0))
{
    var newbatchid = CheckAndMakeBatchIfNone();
    bucket.Batch_ID = newbatchid;
}

_db.AddToBactiBucket(bucket);
_db.SaveChanges();
return RedirectToAction("AddColiform");

对这很有效。非常感谢你。如果是蛇,它会咬我的。我知道不用叉车换灯泡是可能的。