The number of primary key values passed must match number of primary key values defined on the entity.
Parameter name: keyValues
Controller:
public ActionResult Edit(long id)
{
Department department = db.Departments.Find(id);
if (department == null)
{
return HttpNotFound();
}
return View(department);
}
Solution:
This error is happening when the entity table having more than one primary key value in the .edmx file. For that you should replace instead of “db.Departments.Find(id)” to the following db.Departments.SingleOrDefault(m=>m.DepartmentId==id).
public ActionResult Edit(long id)
{
Department department = db.Departments.SingleOrDefault(m =>m.RecId == id);
if (department == null)
{
return HttpNotFound();
}
return View(department);
}
Description:
When I tried to edit the record in asp.net MVC application. I got this error “The number of primary key values passed must match number of primary key values”. After changing the linq Query in the Edit Action. Finally, it works fine.
Post your comments / questions
Recent Article
- How to restrict access to the page Access only for logged user in Django
- Migration admin.0001_initial is applied before its dependency admin.0001_initial on database default
- Add or change a related_name argument to the definition for 'auth.User.groups' or 'DriverUser.groups'. -Django ERROR
- Addition of two numbers in django python
- The request was aborted: Could not create SSL/TLS secure channel -Error in Asp.net
- FieldError: Cannot resolve keyword 'id' into field in Django project
- How to hide the ID field from the Django admin?
- It is impossible to add a non nullable field without specifying a default. Django error
Related Article