Delete row in gridview using linq

I wrote this code to remove rows from Gridview but it doesn't work.

code in class.cs:

public bool bDeleteItem(int nItemID)
{ 
    bool flag = false;
    try
    {
        Training_sNairoukhEntities1 sNairoukhEntities1 = new Training_sNairoukhEntities1();
        IMS_Items oIMS_Items = sNairoukhEntities1.IMS_Items.Where(Entity => Entity.ItemID == nItemID).Single();
        sNairoukhEntities1.IMS_Items.Remove(oIMS_Items);
        int nResult = sNairoukhEntities1.SaveChanges();
        if (nResult > 0)
        {
            flag = true;
        }
    }
    catch (Exception ex)
    {
    }
    return flag;
}

      

code in Aspx.cs:

int nId = Convert.ToInt32(gvManageItem.DataKeys[Convert.ToInt32(e.CommandArgument)]["ItemID"].ToString());
if (e.CommandName == "cmDelete")
{
    ManageItem oManageItem = new ManageItem();
    if (oManageItem.bDeleteItem(nId))
    {
        lblValidation.Text = "Delete is successfully";
    }
    else
    {
        lblValidation.Text = "isnt delete";
    }
}

      

+3


source to share


1 answer


Delete method "Marks this object as Deleted so that it will be removed from the database when SaveChanges is called. Note that the object must exist in context in some other state before this method can be called ." Below command will work: sNairoukhEntities1.Entry (oIMS_Items) .State = System.Data.Entity.EntityState.Deleted;
sNairoukhEntities1.SaveChanges ();



0


source







All Articles