例外情况”;指定的实体不包含在此EntitySet中";但是实体被包含
本文关键字:实体 包含 EntitySet quot 情况 | 更新日期: 2023-09-27 17:59:58
我有一个异常"The specified entity is not contained in this EntitySet.
"。但当我查看我的dataSource时,就是在那里看到我的实体。
这是代码:
Class1 item = (Class1)dg.SelectedItem;
if (item!= null)
{
Class2 item2= new Class2();
item2.Att1= item.Att1;
item2.Att2= item.Att2;
item2.Att3= item.Att3;
MyDataSource.DataView.Remove(item2);
}
我想删除DataSource的对象,该对象具有数据网格中所选项的属性。
当我查看DataSource时,我的item2出现了,那么为什么我不能从DataSource中删除它呢?相同的类,相同的属性。我不明白。
我发现了这个,而且效果很好:
if (item!= null)
{
Class2 myPiece = MyDataSource.DataView.OfType<Class2>().Where(OrEs => OrEs.Att1 == item.Att1).FirstOrDefault() ;
MyDataSource.dataView.Remove(myPiece);
}
基本上,您需要删除同一个项目,您正在创建一个出现问题的新项目。
应该是像这个
Class1 item = (Class1)dg.SelectedItem;
if (item!= null)
{
MyDataSource.DataView.Remove(item );
}
Item2不是数据源的一部分。
两个类型和属性相同的对象并不一定意味着它们是相同的,通过相同,它们应该位于相同的内存位置。
您需要在数据源中找到与相同属性匹配的项,然后将其删除。