Well, you try to delete the same object twice. That should be an issue.
Also add a check for your
x
variable so it actually contains a value.
protected void grdResults_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int w = int.Parse(grdResults.Rows[e.RowIndex].Cells[0].Text);
NewsDbModel.NewsDbEntities db = new NewsDbModel.NewsDbEntities();
var x = (from NewsTable in db.Tables where NewsTable.Id == w select NewsTable);
if (x != null)
db.DeleteObject(x);
db.DeleteObject(x);
db.SaveChanges();
}