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
- ImportError: cannot import name 'url' from 'django.conf.urls' - Django Error
- How to Enable Virtualization in BIOS Security Settings in Intel Processors For Android Studio?
- Dependency 'androidx.activity:activity:1.8.0' requires libraries and applications that depend on it.
- AttributeError: 'NoneType' object has no attribute 'get_text' - Python
- ModuleNotFoundError: No module named 'openpyxl' - Python
- How to get thumbnail from vimeo video URL in Python?
- Remove all special characters, punctuation except spaces from string - Python
- OSError: cannot write mode RGBA as JPEG- Python
Related Article