【发布时间】:2013-12-09 19:58:04
【问题描述】:
我有一个带有两个表的简单 sqlite 数据库。当我手动删除(使用 SQLite Expert)表 DataSets 中的条目时,OneD 中的对应条目将按预期删除。当我从实体框架中删除 DataSets 中的条目时,它不会导致 One D 中的对应条目被删除。没有产生错误。
知道为什么吗?
问候
这是数据库定义:
CREATE TABLE [DataSets] (
[DataSetId] INTEGER NOT NULL ON CONFLICT FAIL PRIMARY KEY AUTOINCREMENT,
[Description] TEXT(128));
CREATE TABLE [OneD] (
[OneDId] INTEGER NOT NULL ON CONFLICT FAIL PRIMARY KEY ON CONFLICT ABORT AUTOINCREMENT,
[DataSetId] INTEGER NOT NULL ON CONFLICT FAIL UNIQUE ON CONFLICT ABORT REFERENCES [DataSets]([DataSetId]) ON DELETE CASCADE,
[StockSheetLength] INTEGER NOT NULL ON CONFLICT FAIL);
这是我从 EF 中删除条目的方法
var dataSets = from ds in context.DataSets select ds;
foreach (var ds in dataSets)
context.DataSets.DeleteObject(ds);
context.SaveChanges();
return true;
【问题讨论】:
标签: c# entity-framework sqlite