实体框架似乎正在尝试从我的一张表中隐式删除实体。这是令人反感的代码:
_context.SaveChanges();
var item = _context.Items.Single(i => i.Mandant == deliveryNoteKey.Mandant && i.RefNumber == deliveryNoteDetail.RefNumber);
_context.SaveChanges(); // What the actual...?
此片段位于循环内,在生成类似于以下SQL的语句集合之前,该循环成功执行了几次:
DELETE FROM [ARTIKEL]
WHERE [ART_WARENGR] = @p243 AND [ART_ABTEILUNG] = @p244 AND [ART_TYPE] = @p245 AND [ART_GRPNUMMER] = @p246 AND [ART_EINHEIT] = @p247 AND [ART_EIGENSCHAFT] = @p248;
SELECT @@ROWCOUNT;
项目实体存储在ARTIKEL表中。
我完全不知道这是怎么发生的。
我也尝试过使用以下查询:
var item = _context.Items.FromSql("SELECT * FROM ARTIKEL WHERE ART_REFNUMMER = " + deliveryNoteDetail.RefNumber).Single();