我有一个配置文件(如下图所示)表每当我尝试从中删除一行时,我都会遇到此错误,表示Tempprice表中的外键中仍有数据与批量中的Id相关表。
问题是当它的Lots表变成Delete时,Tempprice中仍有一些行具有不同的Userid但是具有我想删除的Ownerid或Winnerid的相同lotid。
而且我不知道如何删除这些行!?或者需要哪个查询?
数据库关系和表格
代码:
while (checkbox.Checked)
{
// Retreive the ID
int ida = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value);
// Pass the value of the selected Id(s) to the Delete //command.
//These numbers indicate in which order tables shoulde be deleted
/*1*/
new BLL.LoginBLL().Delete(ida);
/*2*/
new BLL.MessageBLL().Delete(ida);
/*3*/
new BLL.JointBLL().Delete(ida);
/*4*/
new BLL.TemppriceBLL().Delete(ida);
/*5*/
new BLL.LotsBLL().Delete(ida);
/*6*/
new BLL.AuctionBLL().Delete(ida);
/*7*/
new BLL.ProfileBLL().DeleteProfile(ida);
checkbox.Checked = false;
}
ShowUsers();
答案 0 :(得分:0)
要删除引用,您需要将关系(通过选择连接两个对象的行)设置为Cascade的End 1 On Delete
属性。
然后,您需要Load
引用的对象或集合。在这种情况下调用Delete将删除您的对象及其引用的所有对象。