使用SQLite中的关系通过数据集删除数据库中的行

时间:2014-08-13 22:45:26

标签: c# linq-to-dataset dataset-designer

我有简单的数据库和数据集,如下所示: 文件: MYDB

klasa = class room
nauczyciel = teacher

enter image description here

klasa dataenter image description here

teacher data

enter image description here

现在我要删除ID等于2的老师: 这是完整的代码:

        DataSet2 db = new DataSet2();
        nauczycielTableAdapter teacherAdapter = new nauczycielTableAdapter();
        teacherAdapter.Fill(db.nauczyciel);

        klasaTableAdapter classAdapter = new klasaTableAdapter();
        classAdapter.Fill(db.klasa);

        var teacherToRemove = db.nauczyciel.Where(p => p.nauczycielID == 2).SingleOrDefault();

        DataRow[] classesTeacher = teacherToRemove.GetChildRows(db.Relations["FK_klasa_0_0"]);
        if (classesTeacher.Length == 0)
        {
            teacherToRemove.Delete();
            teacherAdapter.Update(db.nauczyciel);
        }
        else
            Console.WriteLine("You must first remove classes teacher");
        Console.ReadKey();

FK_klasa_0_0 - 它是klasanauczyciel之间关系的名称

我得到一个例外:

附加信息:并发冲突:删除命令元素与以下记录数相关:0(预期记录数:1)。

我怎么能删除这个问题?

1 个答案:

答案 0 :(得分:0)

我认为它解决了我的问题: 我创建了相同的数据库,但用扩展名.sqlite命名。以前的数据库没有这个扩展名,这可能会让我遇到问题。