仅删除使用 LINQ to SQL 的子项



我只想删除在具有 LINQ to SQL 的数据网格视图中选择的项目的子项,但它不起作用。我不知道是否有可能这样做。我不知道如何继续,你能检查一下我的代码并告诉我我做错了什么吗?这是我的代码:

private void cmdSupprimer_Click(object sender, EventArgs e)
{
    try
    {
        var catAct = (from catA in tbCategories.Categories
                               where catA.CategorieID == (int)dgCategories.Rows[0].Cells[0].Value       
                               select catA).Single();
        for (int i = 0; i < catAct.Jeuxes.Count(); i++)
        {
            for (int j = 0; j < catAct.Jeuxes[i].Personnages.Count(); j++)
            {
                tbPersos.Personnages.DeleteOnSubmit(catAct.Jeuxes[i].Personnages[j]);
            }
            tbJeux.Jeuxes.DeleteOnSubmit(catAct.Jeuxes[i]);
        }
        tbCategories.Categories.DeleteOnSubmit(catAct);
        tbCategories.SubmitChanges();
        dgCategories.DataSource = null;
        dgCategories.DataSource = (from cats in tbCategories.Categories
                                   select new CategorieDisplay()
                                   {
                                       CategoryID = cats.CategorieID,
                                       CategoryNom = cats.CategorieNom
                                   }).ToList();
        MessageBox.Show("Les enfants de cette catégorie ont été supprimés");
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.ToString());
    }
} 

使数据源成为名为 data 的变量。 然后,您可以从数据中删除行,数据网格视图也将得到更新。

var data = (from cats in tbCategories.Categories
                                   select new CategorieDisplay()
                                   {
                                       CategoryID = cats.CategorieID,
                                       CategoryNom = cats.CategorieNom
                                   }).ToList();
dgCategories.DataSource = data;
​

相关内容

  • 没有找到相关文章