// こんにちは、次のコード スニペットです。モデルを変更したいのですが、モデルのナビゲーション プロパティに従ってエンティティに関連していますが、影響を受けるのはモデルのスケール プロパティのみです。実行時に例外はありません。理由がわかりません。助けてください私、どうもありがとう!
public bool Update(Container model)
{
var mExist=dbContext.Container.SingleOrDefault(m=>m.TransportDocumentId==model.TransportDocumen tId && m.ContainerNo==model.ContainerNo);
if (mExist != null)
{
if (mExist.Id != model.Id)
{
throw new Exception("The same entity has been exist!.");
}
dbContext.Entry(mExist).State = EntityState.Detached;
}
var mOld = dbContext.Container.SingleOrDefault(m => m.Id == model.Id);
string oldContainerNo = model.ContainerNo;
if (mOld != null)
{
oldContainerNo = mOld.ContainerNo;
dbContext.Entry(mOld).State = EntityState.Detached;
}
dbContext.Container.Attach(model);
var mGoods = model.TransportDocument.Goods;
if (model.ContainerNo != oldContainerNo)
{
foreach (var g in mGoods)
{
var gn = g.GoodsContainerNo.Where(n => n.ContainerNo == oldContainerNo);
foreach (var gNo in gn)
{
//WHY,here CHANGES cannot be save to datastore!!!
gNo.ContainerNo = model.ContainerNo;
dbContext.Entry(gNo).State = EntityState.Modified;
}
}
}
dbContext.Entry(model).State = EntityState.Modified;
return dbContext.SaveChanges() >= 0;
}