2009-09-29 4 views
0

Dans ma demande, j'ai 2 entités qui sont définies comme:Retirer Entité de DataContext de sorte que son non inséré (LINQ to SQL)

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

public class B { 
     // Bunch of code 
} 

Lorsque je crée une nouvelle instance de la classe A, associez-le une nouvelle instance de B et insérer A dans le DataContext, l'instance de B est également insérée dans le DataContext. Mon problème apparaît lorsque je veux que le DataContext pas n'insère pas cette entité dans la base de données. Je n'ai trouvé aucun moyen d'éliminer cette entité du DataContext afin qu'il ne soit pas inséré. J'ai essayé:

DataContext.A.DeleteOnSubmit(InstanceOfB); 

en vain.

Est-ce que quelqu'un a une idée de ce que je fais mal ??

Merci

Le

Répondre

2

Ceci est la conception - & est généralement un résultat souhaitable! Linq-to-SQL insère des objets enfants afin de préserver l'intégrité relationnelle de Linq-to-SQL. Si vous pouvez l'éteindre d'une manière ou d'une autre, la solution évidente suivante consiste à supprimer la relation. Ce n'est pas une suggestion idéale, mais cela fonctionnera.

A.B = null; 

maintenant A ne pas un objet ClassB, et par conséquent la déclaration d'insertion ne sera pas insérer votre B.

Questions connexes