在LLBLGen中,有什么简单的方法可以被描述为“级联删除”吗?我正在寻找的一个例子是:
你有这些桌子:
Customer:
-Id
Order:
-Id
-CustomerId
OrderDetail:
-Id
-OrderId现在,我想删除一个特定的客户和所有依赖它的东西(所有的订单,以及所有订单的细节)。由于如果在删除将Id作为外键的订单之前删除客户,数据库将非常合适,因此我需要做的是:
得到客户的订单,每个订单的OrderDetails
G 214
现在,这似乎是一个相当常见的任务-我认为有某种删除(实体entityToDelete,bool isRecursive)函数在某处。不管怎样,有什么简单的方法吗?
发布于 2010-08-12 17:16:03
不,LLBLGen Pro不支持级联删除。我们没有构建它是因为以下原因:-并不总是能够进行级联删除(假设一个菱形模型,其中两个/多个路径从a到b。这也是为什么sqlserver不总是执行/allows级联删除-在目标-实体继承,级联删除是不可能的。
我们支持直接在db上删除大容量。因此,您不必先获取所有实体来删除。例如,若要删除客户订单的所有订单详细信息,请创建直接删除orderdetails,其中您指定一个字段create谓词作为筛选器,其中您根据customerid的顺序指定了一个订单筛选器。然后使用相同的谓词(没有联接)删除订单,然后删除客户。您可以在一个工作单元中对这些删除进行分组,以便在1中运行它们,在事务中运行更容易。
如果你坚持这样做,请在我们的论坛上发布一个问题:http://www.llblgen.com/tinyforum。我们很乐意帮助你。
https://stackoverflow.com/questions/3469681
复制相似问题