C# 具有外键的两个表之间的数据库删除查询

C# 具有外键的两个表之间的数据库删除查询,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我有一个配置文件,如下图表所示,每当我试图从中删除一行时,我都会遇到这个错误,这表明Tempprice表中的外键中仍然有数据,它与Lots表中的Id相关 问题是,当它的Lots表变为Delete时,Tempprice中仍有行具有不同的Userid,但具有相同的lotsid,并且具有我要删除的Ownerid或Winnerid 我不知道如何删除这些行!?或者需要哪个查询 数据库关系和表: 代码: 若要删除参照,需要通过选择连接两个对象的线来设置关系,以便在“删除时终止1”属性中进行级联。 然后需要

我有一个配置文件,如下图表所示,每当我试图从中删除一行时,我都会遇到这个错误,这表明Tempprice表中的外键中仍然有数据,它与Lots表中的Id相关

问题是,当它的Lots表变为Delete时,Tempprice中仍有行具有不同的Userid,但具有相同的lotsid,并且具有我要删除的Ownerid或Winnerid

我不知道如何删除这些行!?或者需要哪个查询

数据库关系和表:

代码:


若要删除参照,需要通过选择连接两个对象的线来设置关系,以便在“删除时终止1”属性中进行级联。
然后需要加载引用的对象或集合。在这种情况下调用Delete,将删除您的对象及其引用的所有对象。

您能否将表结构作为正确的SQL代码提供给我们-此图片太小,无法读取任何内容。……新选项卡中的查看图像显示可读大小。我几乎不会称为5磅字体readable@marc_s如何生成图表的Sql代码?@marc_s和@McKay所需表格的大图:然后您必须手动删除所有其他相关引用。如何删除?我的意思是使用哪个查询?回答:首先-从Tempprice中删除,其中Lotid插入从Lot中选择Id,其中Ownerid=配置文件Id,然后-从Lot中删除,其中Ownerid=配置文件Id
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();