我正在尝试从数据库中删除一个与其相关的拆分表的行,但是,我似乎无法删除拆分表关系。
以下是我要执行的代码
public void DeleteProductItemSplit(ProductItem pi)
{
// ProductItemData is the split table
var data = new ProductItemData() { Id = pi.Id };
m_Context.ProductItemData.Attach(data);
m_Context.ProductItemData.Remove(data);
}
在第二行
m_Context.ProductItemData.Attach(data);
我收到此错误
其他信息:违反了多重性约束。角色 'ProductItem_Data_Target'的关系 'UpdaterDataLayer.ProductItem_Data'具有多重性1或0..1。
如果我忽略了附加行,那么在尝试删除对象时会出现此错误
无法删除该对象,因为在该对象中找不到该对象 ObjectStateManager。
关于如何解决的任何想法?
由于
答案 0 :(得分:0)
如果你想删除它,请使用:
public void DeleteProductItemSplit(ProductItem pi)
{
m_Context.ProductItemData.Remove(m_Context.ProductItemData.Find(pi.Id));
}
Find允许您通过主键轻松获取元素。您可以调用导出的实体删除以最终删除它。