• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何使用C#在WPF中使用LINQ to Entity选择多个记录并在其他表中插入?

c/c++ 来源:SHEKHAR SHETE 8次浏览

我有一个GridControl其中包含其中有复选框控件的项目列表。如何使用C#在WPF中使用LINQ to Entity选择多个记录并在其他表中插入?

我正在添加&删除ID为自定义List<int>其中包含检查项目列ID值。现在,我想遍历List<int>并选择表格中的记录,并通过提取这些选中的项目来插入其他表格中。使用Linq到实体WPF使用C#

List<Infill> infillList = new List<Infill>(); 
List<int> infillListIDs=new List<int>(); 
private bool ProcessItem(bool IsChecked) 
     { 
      bool result = false; 
      Infill item = grdInfillInner.FocusedRow as Infill; 
      if (IsChecked) 
      { 

       if (item != null) 
       { 
        // DO STUFF HERE EXAMPLE ADD or REMOVE Item to a list, BASED on CHECKED or UNCHECKED!!! 
        int infillid = item.InfillID; 
        infillListIDs.Add(infillid); 
        result = true; 
       } 
      } 
      else 
      { 
       if(infillListIDs.Contains(item.InfillID)) 
       { 
        // if uncheked the checked item then remove from custom list 
        infillListIDs.Remove(item.InfillID); 

       } 
      } 
      grdInfillInner.FocusedRowHandle = -1; 
      return result; 
     } 

private void BtnInsert_Click(object sender, RoutedEventArgs e) 
     { 
      MessageBox.Show("Total Items :" + infillListIDs.Count); 
      //Insert the record in other table (having same table structure) 
      //here by selecting from infillListIDs custom list of type List<int> 

     } 
private void CheckEdit_Checked(object sender, RoutedEventArgs e) 
     { 
      e.Handled = ProcessItem(true); 

     } 

     private void CheckEdit_Unchecked(object sender, RoutedEventArgs e) 
     { 
      e.Handled = ProcessItem(false); 
     } 
protected void GetAllInfills() 
     { 
      List<Infill> infillList = new List<Infill>(); 
      infillList=BLL.GetAllInfills(); 
      if (infillList != null) 
      { 
       grdInfill.ItemsSource = infillList; 
       grdInfill.GroupBy(grdInfill.Columns["Glass.GlassType"], ColumnSortOrder.Ascending); 
       grdInfill.GroupBy(grdInfill.Columns["Glass.Glass_Description"], ColumnSortOrder.Ascending); 
       grdInfill.AutoExpandAllGroups = true; 

      } 
     } 

我想从填充表,其中包含ID的所有的检查行从infillListIDs获取记录腾空表和insert into DummyInfill表具有相同的结构被点击插入按钮时!

===========解决方案如下:

看到这个:https://stackoverflow.com/a/15829249/265100

获取具有匹配的ID,并添加到新表中的对象。

Using (DB _db = new DB()){ 
    foreach(Infill inf in InfillCol){ 
    DummyInfill.Add(inf); 
    } 
    DummyInfill.SaveChanges(); 
} 

我不知道你使用的是什么版本的EF,但我明白你可以实现SQLBulkCopy。 看到这篇文章:https://stackoverflow.com/a/1610014/265100


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)