【问题标题】:Remove Entity from DataContext so that its not inserted (Linq-to-SQL)从 DataContext 中删除实体,使其不被插入(Linq-to-SQL)
【发布时间】:2009-09-29 21:59:39
【问题描述】:

在我的应用程序中,我有 2 个实体,它们被定义为:

public class A {
       public B ClassB { get; set; }
       // Bunch of code
}

public class B {
       // Bunch of code
}

当我创建一个类 A 的新实例,为其分配一个新的 B 实例并将 A 插入 DataContext 时,B 的实例也插入到 DataContext 中。当我希望 DataContext not 不将该实体插入数据库时​​,就会出现我的问题。我还没有找到任何方法从 DataContext 中消除该实体,以便它不会被插入。我试过了:

DataContext.A.DeleteOnSubmit(InstanceOfB);

无济于事。

有人知道我做错了什么吗?

谢谢

【问题讨论】:

    标签: c# .net linq-to-sql


    【解决方案1】:

    这是设计使然 - 通常是理想的结果!

    Linq-to-SQL 插入子对象以保持关系完整性。如果你能以某种方式关闭它,下一个明显的解决方案是删除这种关系。这不是一个理想的建议,但它会起作用。

    A.B = null;
    

    现在 A 没有 ClassB 对象,因此 Insert 语句不会插入您的 B。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-06
      • 1970-01-01
      • 2011-10-22
      • 2011-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多