我在将以下内容保存到数据库时遇到问题。
我有一个分支列表作为 MessageType 对象的一部分。我在第 1 部分代码中更新分支列表,然后将分支列表保存到第 2 部分中的 MessageType 对象,然后调用 db.SaveChanges()。不幸的是,新的分支列表没有保留。
// section 1
List<Branch> myBranches = new List<Branch>();
foreach (int bid in branches)
{
var bran = db.Branches.Find(bid);
if (bran != null)
{
myBranches.Add(bran);
}
}
//section 2
try
{
messagetype.SenderID = eSenderDB.MvcApplication.SenderID;
messagetype.Branches = myBranches;
foreach (Branch bra in messagetype.Branches)
{
db.Entry(bra).State = EntityState.Modified;
db.SaveChanges();
}
//db.Entry(messagetype.Branches).State = EntityState.Modified;
db.Entry(messagetype).State = EntityState.Modified;
db.SaveChanges();
我的创建方法
[HttpPost]
public ActionResult Create(MessageType messagetype, int[] branches)
{
List<Branch> myBranches = new List<Branch>();
foreach (int bid in branches)
{
var bran = db.Branches.Find(bid);
if (bran != null)
{
myBranches.Add(bran);
}
}
{
messagetype.Branches = myBranches;
messagetype.SenderID = eSenderDB.MvcApplication.SenderID;
messagetype.OptIns = 0;
db.MessageTypes.Add(messagetype);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(messagetype);
}