2010-05-12 7 views
0

J'essaie d'obtenir un insert pour travailler en utilisant LINQ et j'ai quelques difficultés.Obtenir un LINQ .InsertOnSubmit au travail

J'utilise cet exemple pour fonder mon code: http://msdn.microsoft.com/en-us/library/bb763516.aspx

J'ai mes données objet mis en place, mais je ne sais pas ce qui se passe quand db.Orders.InsertOnSubmit est exécuté.

Comment puis-je créer cet objet db pour insérer un objet de données dans ma base de données à l'aide de InsertOnSubmit?

edit: Voici un code avec lequel je travaille (c'est probablement un monde faux, je suis en train de tâtonner dans l'obscurité). Je suis super nouveau pour les objets de base de données, donc tout le concept est un peu déroutant pour moi.

var Data = new Data(); 
Data.value1 = 1; 
var db = new dbo(connectionString); 
db.InsertOnSubmit(Data); 
+0

Veuillez publier un court exemple de votre code qui ne fonctionne pas. –

+0

Juste ajouté un exemple de code. – sooprise

Répondre

2

Vous devez faire plus que simplement appeler InsertOnSubmit(). Vous devez également appeler SubmitChanges(). La raison pour laquelle ces étapes sont séparées est de vous permettre d'avoir plusieurs insertions, mises à jour et suppressions, puis de les soumettre toutes en même temps via SubmitChanges().

+0

Si je n'ai qu'une seule ligne à soumettre, est-il possible de soumettre cette ligne en appelant une seule fonction au lieu d'appeler à la fois InsertOnSubmit() et SubmitChanges()? – sooprise

+0

Non. Vous devez appeler SubmitChanges(). Rien ne persiste dans la base de données tant que cette méthode n'est pas appelée. Bien que, je suppose que vous pourriez écrire votre propre méthode d'extension qui combine les deux. Mais je ne vois pas vraiment le bénéfice de cela. –

Questions connexes