بهتر است به جای اینکه برای حذف یک entity دو بار دیتابیس را فراخوانی کنیم (یکبار برای بازیابی آن براساس id و یکبار برای اجرای فرمان حذف آن از دیتابیس) توسط کد زیر فقط یکبار به بانک کوئری بزنیم. البته این موضوع برای قبل از EF7 کاربرد دارد. خود EF7 دارای متد ExecuteDeleteAsync می باشد که این مشکل را مرتفع کرده است.
{ try { var person = db.Persons.Attach(new Person { Id = id }); person.State = EntityState.Deleted; await db.SaveChangesAsync(); // 1 database call } catch (DbUpdateConcurrencyException e) { Console.WriteLine(e); // will happen if record no longer exists } }