2011-01-28 2 views
2

Existe-t-il un moyen de créer une instance d'une classe linq sans qu'elle soit incluse dans la prochaine soumission?Instance de la classe Linq sans la connecter à la base de données

comme ceci:

Customer customer = new Customer(); 
Context.SubmitChanges(); // customer is not added. 

je reçois une erreur disant retour que certaines valeurs ne peuvent pas être nulles, car les contraintes dans la base de données, même si je n'ai pas Context.Contacts.InsertOnSubmit(contact); entre les lignes. Je pensais que tant que je n'appelais pas le InsertOnSubmit je pourrais utiliser la classe Customer générée par le dbml comme stockage ou autre chose ... Des idées sur ce que je pourrais faire de mal, ou est-ce que j'essaie d'enfreindre les règles ici ?

+2

Ce que vous faites est ok (en utilisant un objet entité sans l'enregistrer). Pourriez-vous poster le message d'erreur réel? Et pouvez-vous poster plus de votre code? – shaunmartin

Répondre

3

Je suppose que vous avez attaché cet objet à un autre dans une sorte d'affectation. Ce n'est pas tout à fait évident, mais cela le fait en fait inclure dans le soumettre.

+0

c'était exactement ce que j'ai fait qui a été le problème. – Andreas

0

vous pouvez utiliser l'entité Customer que vous voulez dans votre code, mais vous devez considérer si vous attribuez à une autre entité qui utilise customer ou ajouté au datacontext que vous avez et ensuite appelé SubmitChanges, vous obtiendrez cette erreur aussi longtemps car il y a des valeurs nulles dans votre entité customer qui n'autorise pas null dans la table de base de données réelle customer

Questions connexes