Ho solo una situazione molto semplice in cui tutto ciò di cui ho bisogno è cancellare il record usando Linq2Entities. Ho provato a fare qualche ricerca e ancora non riesco a capire il modo giusto per farlo.Modo corretto per eliminare record in LINQ alle entità
Ecco il mio codice semplice:
[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();
}
}
posso eliminare un record particolare se per esempio assegno y.EmployeeName == "Harold Javier" al metodo Delete sopra, ma quando assegno y .EmployeeId == z.EmployeeId al codice precedente, l'eliminazione non funziona. (Nota: EmployeeId è la chiave primaria della tabella Employee)
Qual è il problema con il codice? Qualche errore?pubblicali se è così. –
Possiamo compilare il codice e sembra a posto. Ma quando lo usiamo con ObjectDataSource (Web Form di ASP.NET), il pulsante Elimina non funziona. –
Prova 'ctx.Employees.DeleteOnSubmit (x)' invece di 'ctx.DeleteObject (x)' – MarcinJuraszek