gpt4 book ai didi

c# - 使用 linq to sql 从多个表中删除时的外键约束问题

转载 作者:行者123 更新时间:2023-11-30 22:40:35 26 4
gpt4 key购买 nike

我有两个带有外键约束的表,如何在一个事务中删除它们中的行? linq to SQL 似乎以错误的顺序调用我的删除。有什么地方我可以检查并确保约束被 linq to SQL 正确识别??

 DataContext.OtherImages.DeleteOnSubmit(myOtherImage);
DataContext.Images.DeleteOnSubmit(myImage);
DataContext.SubmitChanges();

外键约束在 OtherImages 上。谢谢!

最佳答案

你应该有类似的东西

[Association(
Name="FK_OtherImages_Images",
Storage="_OtherImages",
OtherKey="ImageId",
DeleteRule="NO ACTION")]
public EntitySet<OtherImage> OtherImages{
...
}

在您的图像类中。

DataContext.OtherImages.DeleteOnSubmit(myOtherImage);
DataContext.Images.DeleteOnSubmit(myImage);
DataContext.SubmitChanges();

应该可以正常工作。我的猜测是您忘记了另一个外键。您可以通过执行以下操作查看正在运行的查询

DataContext.Log = Console.Out;

或类似的东西。我不建议仅仅为了使这项工作而级联删除,因为它应该在不这样做的情况下工作。

关于c# - 使用 linq to sql 从多个表中删除时的外键约束问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5130629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com