这是我的问题,
我在 Componet.cs 中有下一个模型(我的真实组件还有十个 Icollections,但我认为问题应该与 1 个 ICollection 或 10 个相同,我没有将它们写下来)。
public partial class Component
{
public Component()
{
this.BrandOwner = new HashSet<BrandOwner>();
this.Description = new HashSet<Description>();
}
public int GestCompID { get; set; }
public int ID { get; set; }
public Nullable<int> BaseGestCompID { get; set; }
public Nullable<int> BaseCompID { get; set; }
public string DefName { get; set; }
public string ProductRef { get; set; }
public virtual country country { get; set; }
public virtual language language { get; set; }
public virtual ICollection<BrandOwner> BrandOwner { get; set; }
public virtual ICollection<Description> Description { get; set; }
在我的应用程序中,我可以编辑该组件以添加、删除或编辑其任何属性。我可以根据国家或语言添加几个品牌所有者或描述。当我选择其中一个组件进行编辑时,我将组件加载到 Session 变量中,并对该 Session 变量执行所有操作。
当我完成编辑项目时,我有两个按钮,接受和取消。如果我取消在 Session 变量中所做的所有更改,则将被解除。
当我按下“接受”按钮更新所选项目时,问题就来了。我找不到路
这是我的接受方法:
public ActionResult AcceptChanges()
{
try
{
Component component = (Component)Session["component"];
GIEntities.Current.Component.Attach(component);
GIEntities.Current.SaveChanges();
Session["component"] = null;
return RedirectToAction("Index", new { Message = "correct" });
}
catch (DbUpdateException ex)
{
String error = ex.ToString();
Component component = (Component)Session["component"];
return RedirectToAction("EditComponent", new { id = componente.ID });
}
}
我已尝试附加、添加并将状态设置为已修改,但它不起作用。我也尝试过分离 de 组件并再次附加它。有人可以告诉我我做错了什么吗?
非常感谢,并提前感谢。
对不起我的英语不好。