[Linq to Sql] - Salvare più records in una volta sola

martedì 24 maggio 2011 - 21.58

M4tRiX83 Profilo | Newbie

Ciao,

sono in difficoltà perché non riesco, tramite linq to sql, ad inserire più record in un db.

Io avevo capito che, una volta completata un'entità, tramite il metodo del dataContext InsertOnSubmit(Entità), i dati venissero memorizzati in un archivio temporaneo e, con il metodo SubmitChanges venissero poi inseriti sul DB.

A me capità però che venga inserito solo l'ultimo dato.

Anche usando la funzione InsertAllOnSubmit e passandogli una lista di entità ottengo il medesimo risultato.

Vi allego un esempio di codice:

Dim t1 As New test

t1.y = "c"
_db.test.InsertOnSubmit(t1)
t1.y = "d"
_db.test.InsertOnSubmit(t1)
_db.SubmitChanges()



_db --> è il dataContext

In questo esempio viene inserita solo la lettera "d".



Potete darmi qualche indicazione su come fare ad inserire nel db più righe in un'unica operazione?

Grazie

Brainkiller Profilo | Guru

> Dim t1 As New test
> t1.y = "c"
> _db.test.InsertOnSubmit(t1)
> t1.y = "d"
> _db.test.InsertOnSubmit(t1)
> _db.SubmitChanges()

Attenzione, stai trattando sempre la stessa istanza quindi al secondo InsertOnSubmit non vai a inserire un nuovo oggetto ma modifichi quello che hai inserito in precedenza perchè funzioni devi modificare il codice così creando una nuova istanza:

Dim t1 As New test t1.y = "c" _db.test.InsertOnSubmit(t1) t1=New test t1.y = "d" _db.test.InsertOnSubmit(t1) _db.SubmitChanges()

In questo caso inserirà 2 oggetti invece di 1
Ciao

David De Giacomi | <empty>
http://blogs.dotnethell.it/david/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5