Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 实体框架不处理对复合键的更改_Entity Framework_Entity Framework 4.1 - Fatal编程技术网

Entity framework 实体框架不处理对复合键的更改

Entity framework 实体框架不处理对复合键的更改,entity-framework,entity-framework-4.1,Entity Framework,Entity Framework 4.1,我有一个多对多关系的课程,比如: public partial class AdminBoundaryStaff { [Key, Column(Order=0)] public int idAdminBoundary { get; set; } [Key, Column(Order = 1)] public int idAdminStaff { get; set; } [Key, Column(Order = 2)] public int idA

我有一个多对多关系的课程,比如:

public partial class AdminBoundaryStaff 
{
    [Key, Column(Order=0)]
    public int idAdminBoundary { get; set; }
    [Key, Column(Order = 1)]
    public int idAdminStaff { get; set; }
    [Key, Column(Order = 2)]
    public int idAdminStaffType { get; set; }

    public virtual AdminBoundary AdminBoundary { get; set; }
    public virtual AdminStaff AdminStaff { get; set; }
    public virtual AdminStaffType AdminStaffType { get; set; }
如果我更改idAdminStaff的值并将表单发回控制器,EF似乎看不到有任何更改,甚至不尝试SQL更新(使用探查器查看)


你永远不应该改变PK值。如果你需要更改它,它不是PK。它们实际上是外键。关键属性可能不属于这里。如果我删除这些,问题仍然存在。我通过向表中添加一个单独的主键来解决这个问题。啊。如果您的表上根本没有主键,EF将被混淆。和我们其他人一起!
    [HttpPost]
    public ActionResult Edit( AdminBoundaryStaff adminboundarystaff)
    {
        if (ModelState.IsValid)
        {
            db.Entry(adminboundarystaff).State = EntityState.Modified;
            db.SaveChanges();
            return RedirectToAction("Index");
    }}