Les types d'argument 'Edm.Ssortingng' et 'Edm.Int32' sont incompatibles pour cette opération

Je reçois l'erreur comme ci-dessus tag qui sera à la place de

return View (st.employees.Find (id));

Au-dessus de la place seulement, quelqu'un peut-il m'aider? et mon code est

namespace StartApp.Controllers { public class EmployController : Controller { StartEntities st = new StartEntities(); //List public ActionResult List() { return View(st.employees.ToList()); } //Details public ActionResult Details(int id = 0) { return View(st.employees.Find(id)); } //Create public ActionResult Create() { return View(); } [HttpPost,ValidateAntiForgeryToken] public ActionResult Create(employee e) { using(st) { st.employees.Add(e); try { st.SaveChanges(); } catch { System.Diagnostics.Debug.WriteLine("Here is an error"); } } return RedirectToAction("List"); } //edit public ActionResult Edit(int id = 0) { return View(st.employees.Find(id)); } [HttpPost,ValidateAntiForgeryToken] public ActionResult Edit(employee e) { st.Entry(e).State = EntityState.Modified; st.SaveChanges(); return RedirectToAction("List"); } //Delete public ActionResult Delete(int id = 0) { return View(st.employees.Find(id)); } [HttpPost,ActionName("Delete")] public ActionResult Delete_conf(int id) { employee emp = st.employees.Find(id); st.employees.Remove(emp); st.SaveChanges(); return RedirectToAction("List"); } } 

}

quelqu'un peut-il m'aider à rectifier cette erreur!

Cette exception se produit généralement lorsque la key primaire de votre entité est de type A et que vous transmettez une variable qui n'est pas de type A à la méthode Find .

De la documentation officielle de la méthode Find , il peut jeter l'exception ci-dessous

InvalidOperationException

Lancé si les types de valeurs de key ne correspondent pas aux types de valeurs de key pour le type d'entité à searchr.

Assurez-vous que vous utilisez la même variable de type lorsque vous appelez la méthode Find .

Dans votre code, vous passez une variable entière à la méthode Find . De l'erreur, je crois que la key primaire de votre class d'entité n'est pas un type int. Peut-être s'agit-il du type Guid , dans ce cas, assurez-vous de transmettre une valeur Guid valide à la méthode Find .

Vous pouvez ouvrir le file edmx et voir le type de votre key et assurez-vous de transmettre le même type à la méthode Find .

Faites un clic droit sur l'entité dans votre file edmx et select les propriétés.

entrez la description de l'image ici

il semble que vous suiviez le model MVC.

J'ai aussi eu cette erreur et c'est parce que je passais le paramètre id comme un entier au lieu de "ssortingng" comme je l'ai déclaré dans mon model.

Échantillon:

 public class Object { public ssortingng id { get; set; } public ssortingng property1{ get; set; } public ssortingng property2{ get; set; } public ssortingng property3{ get; set; } }