Ich habe nur eine sehr einfache Situation, wo alles, was ich brauche, ist Datensatz mit Linq2Entities zu löschen. Ich habe versucht, etwas zu recherchieren und kann immer noch nicht den richtigen Weg finden, es zu tun.Proper Weg zum Löschen von Datensatz in LINQ zu Entities
Hier ist mein einfacher Code:
[DataObjectMethod(DataObjectMethodType.Delete)]
public void DeleteEmployee(Employee z)
{
using (var ctx = new MyEntity())
{
var x = (from y in ctx.Employees
where y.EmployeeId == z.EmployeeId
select y).FirstOrDefault();
ctx.DeleteObject(x);
ctx.SaveChanges();
}
}
[DataObjectMethod(DataObjectMethodType.Select)]
public List<Employee> GetAllEmployee()
{
using (var ctx = new MyEntity())
{
var x = from y in ctx.Employees
select y;
return x.ToList();
}
}
Ich kann einen bestimmten Datensatz löschen, wenn ich zum Beispiel y.EmployeeName zuordnen == "Harold Javier" auf die Delete-Methode oben, aber wenn ich y zuweisen .EmployeeId == z.EmployeeId zu dem obigen Code funktioniert das Löschen nicht. (Hinweis: EmployeeId ist der Primärschlüssel der Employee-Tabelle)
Was ist das Problem mit Ihrem Code? Irgendwelche Fehler?poste sie wenn ja. –
Wir können den Code kompilieren und es scheint in Ordnung. Aber wenn wir es mit der ObjectDataSource (ASP.NET WebForm) verwenden, funktioniert die Schaltfläche Löschen nicht. –
Versuchen Sie 'ctx.Employees.DeleteOnSubmit (x)' anstelle von 'ctx.DeleteObject (x)' – MarcinJuraszek