我在將以下內容保存到數據庫時遇到問題。Linq - 不保存在db.SaveChanges()上的對象中的列表調用
我有一個分支列表作爲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);
}
數據庫結構是這樣的一個分支可以有很多消息類型和一個消息類型可以有很多分支。 – GMan 2013-04-08 14:15:09