我正在開發一個C#MVC 4互聯網應用程序,我有一個關於將項目添加到列表的問題。被添加到列表中的對象沒有被存儲在數據庫中
這裏是我的類代碼:
public class MapLocationCompany
{
public MapLocationCompany()
{
MapLocationList = new List<MapLocation>();
}
[Key]
public int id { get; set; }
public List<MapLocation> MapLocationList { get; set; }
}
public class MapLocationCompanyContext : DbContext
{
public DbSet<MapLocationCompany> MapLocationCompanies { get; set; }
}
我創建一個MapLocation
對象添加到MapLocationList
在MapLocationCompany
類。
這裏是我的代碼:
private MapLocationCompanyContext mlcc = new MapLocationCompanyContext();
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(int id, MapLocation maplocation)
{
if (ModelState.IsValid)
{
MapLocationCompany mapLocationCompany = new MapLocationCompany();
mapLocationCompany = cs.getMapLocationCompany(id);
mapLocationCompany.MapLocationList.Add(maplocation);
mlcc.SaveChanges();
return RedirectToAction("MapLocations", "Company", new { id = id });
}
return View(maplocation);
}
這裏是cs.getMapLocationCompany
功能是在不同的類
public MapLocationCompany getMapLocationCompany(int id)
{
return db.MapLocationCompanies.Where(c => c.id == id).FirstOrDefault();
}
的DB是一個MapLocationCompanyContext
對象。
Create
函數中的maplocation
對象沒有存儲在數據庫中。
我可以請這個代碼幫忙嗎?
在此先感謝
編輯
我可以請有一定的幫助的MapLocation對象添加到使用上下文列表?
這裏是我目前正在使用的代碼:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(int id, MapLocation maplocation)
{
if (ModelState.IsValid)
{
MapLocationCompany mapLocationCompany = new MapLocationCompany();
mapLocationCompany = cs.getMapLocationCompany(id);
mlcc.MapLocationCompanies.Where(c => c.id == id).FirstOrDefault().Add(maplocation);
mlcc.SaveChanges();
return RedirectToAction("MapLocations", "Company", new { id = id });
}
return View(maplocation);
}
這是我收到的錯誤:
「CanFindLocation.Classes.MapLocationCompany」不包含定義「添加'沒有擴展方法‘添加’接受一個類型的第一個參數‘CanFindLocation.Classes.MapLocationCompany’可以發現
我如何添加一個反對清單,知道MapLocationCompany
的ID?
您從不向上下文添加任何內容。你只是創建一個對象然後保存上下文。 –
你可以看看我的編輯? – Garry