Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从DataContext中删除实体,使其不被插入(Linq到SQL)_C#_.net_Linq To Sql - Fatal编程技术网

C# 从DataContext中删除实体,使其不被插入(Linq到SQL)

C# 从DataContext中删除实体,使其不被插入(Linq到SQL),c#,.net,linq-to-sql,C#,.net,Linq To Sql,在我的应用程序中,有两个实体被定义为: public class A { public B ClassB { get; set; } // Bunch of code } public class B { // Bunch of code } 当我创建一个类a的新实例时,给它分配一个B的新实例,并将a插入DataContext,B的实例也插入DataContext。当我希望DataContext不不将该实体插入数据库时,就会出现问题。我还没有找到任何

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

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

public class B {
       // Bunch of code
}
当我创建一个类a的新实例时,给它分配一个B的新实例,并将a插入DataContext,B的实例也插入DataContext。当我希望DataContext不将该实体插入数据库时,就会出现问题。我还没有找到任何方法从DataContext中删除该实体,从而使其不被插入。我试过:

DataContext.A.DeleteOnSubmit(InstanceOfB);
无济于事

有人知道我做错了什么吗

谢谢


这是设计的-&通常是一个理想的结果

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

A.B = null;
现在A没有ClassB对象,因此Insert语句不会插入B