C# 通过在SQLite中具有关系的数据集删除数据库中的行
我有一个简单的数据库和数据集,看起来像: 文件: myDb klasa数据: 教师资料: 现在我想删除ID为2的教师: 全部代码如下:C# 通过在SQLite中具有关系的数据集删除数据库中的行,c#,linq-to-dataset,dataset-designer,C#,Linq To Dataset,Dataset Designer,我有一个简单的数据库和数据集,看起来像: 文件: myDb klasa数据: 教师资料: 现在我想删除ID为2的教师: 全部代码如下: DataSet2 db = new DataSet2(); nauczycielTableAdapter teacherAdapter = new nauczycielTableAdapter(); teacherAdapter.Fill(db.nauczyciel); klasaTableAd
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-这是klasa和nauczyciel之间关系的名称
我有一个例外:
其他信息:并发冲突:Delete命令元素与以下记录数相关:0预期记录数:1
如何解决此问题?我认为它解决了我的问题: 我创建了相同的数据库,但将其命名为extension.sqlite。以前的数据库没有此扩展,这可能会给我带来问题
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();