【发布时间】:2010-11-22 04:39:54
【问题描述】:
我有两个表 A 和 B 以及一个简单的表 X,它维护两者之间的关系。 X 包含 AID 和 BID 作为其主键。
我正在使用 Linq-to-Sql 插入如下关系:
public void InsertRelationship(int y, int z) {
DataContext.X.InsertOnSubmit(new x { AID = y; BID = z });
}
问题是在极端情况下可以调用两次对 InsertRelationship() 的调用,因此会由于重复记录而引发异常。这对我来说无关紧要,因为我知道这种关系存在,所以我忽略了这个例外。
在这种情况下可以忽略异常还是仍然是不好的做法?我是否应该在插入之前检查该关系是否不存在?这将如何影响性能?
更新
无法避免重复调用 InsertRelationship()。它是一个 Web 应用程序,因此我无法阻止用户打开两个单独的窗口并调用该方法两次。该方法不会通过典型的用户交互被调用两次,但我在这里针对极端情况进行编程。重复的百分比可能会非常低,但我还不能确定确切的数字。
【问题讨论】:
标签: sql linq-to-sql exception