我正在使用实体框架代码第一种方法。
我可以添加记录,更新记录,但在添加新记录时,我收到此错误消息
"Conflicting changes to the role 'SaleCellBase_column_Target' of the relationship 'Sale.Classes.SaleCellBase_column' have been detected."
我该如何解决这个问题?
I have tree class;
SaleRow sale = new SaleRow (sheet, "Sales", "A-sale", Guid.NewGuid(), Guid.Empty);
sheet.rows.Add(sale);
SaleColumn col = new SaleColumn(sheet, i);
sheet.columns.Add(col);
dbContext.Sale.Add(row);
dbContext.SaveChanges();
for (int j = 0; j < count; j++)
{
SaleCell cell = new SaleCell(row, sheet.columns[j], demoSheet);
sheet.cells.Add(cell);
row.cells.Add(cell);
sheet.columns[j].cells.Add(cell);
}
dbContext.SaveChanges();
treeList1.DataSource = sheet.rows;
此代码运行,我显示我的记录treeList。在添加新行时
saleRow=sheet.rows.ToList();
for (int k = 0; k < sheet.rows.Count; k++)
{
SaleRow saleRowControl = con.SaleRow.FirstOrDefault(p => p.hierId==dataRow.hierId);
if(saleRowControl==null)
dbContext.SaleRow.Add(saleRow[k]);
}
dbContext.SaveChanges();
我收到错误。
答案 0 :(得分:1)
听起来就像是在尝试使用已经存在的外键添加记录,或者尝试在de identifier列中添加值,而标识符将自动由数据库填充。
您是否正确设置了两侧的钥匙? 你能发布出错的代码吗?