EF 5 DBContext.Set <t> .Remove(entity)失败,但在调试并进入</t>时成功

时间:2012-10-17 13:42:35

标签: entity-framework entity-framework-5

这里有一个非常奇怪的场景。

使用DBContext调用以下代码删除失败

int id = 5;
var sql = "SELECT * from dbo.Product WHERE productId = @id";
var data = dbContext.Set<Product>().SqlQuery(sql, new object[] {new SQLParameter("id", id)});

var entityToDelete = data.AsQueryable().FirstOrDefault();

dbContext.Set<Product>().Remove(entityToDelete); 
dbContext.SaveChanges();

我收到以下错误消息:

  

'MyEntities.Products'中的实体参与了   'FK_Product_ProductType'的关系。 0相关'ProductType'是   找到。 1'ProductType'是预期的。

现在每个产品都有一个ProductType的外键引用。实际上,数据库中的此外键有一个值集。

这是踢球者。当我调试并逐行进入代码时,它成功了吗?很奇怪?为什么会这样?任何想法?

更新

在调试时观察变量entityToDelete时成功。但是如果我取下手表就会失败。这让我觉得它与Lazy Loading有关。

0 个答案:

没有答案