Recuperare dati con LINQ To SQL
Se volessimo modificare il record appena inserito, possiamo utilizzare vari modi:
// C#
// Primo metodo
ExampleDataContext e = new ExampleDataContext();
article a=e.articles.Single(c=>c.id==1);
// Secondo metodo
ExampleDataContext e = new ExampleDataContext();
var aa = from c in e.articles
where c.id == 1
select c;
article a=aa.Single(); // aa.First();
' VB
' Primo metodo
Dim e As New ExampleDataContext
Dim a As article = e.articles.Single(Function(art As article) art.id = 1)
' Secondo metodo
Dim e As new ExampleDataContext
Dim aa = From c In e.articles _
Where c.id = 1 _
Select c
a = aa.Single() ' aa.First()Abbiamo utilizzato due modi per recuperare il record interessato. Il primo il metodo sfrutta una novità di C# 3.0 e VB9, le "Lambda Expressions" (di cui possiamo trovare informazioni su questo sito).
Modificare dati con LINQ To SQL
Ora che abbiamo il record interessato possiamo modificarne i valori:
// C#
...
article a=aa.Single();
a.code="...";
e.SubmitChanges(); // Scrive le modifiche sul database
' VB
...
Dim a As Article=aa.Single()
a.code="..."
e.SubmitChanges() ' Scrive le modifiche sul databaseCancellare dati con LINQ To SQL
La cancellazione avviene in modo simile:// C#
ExampleDataContext e = new ExampleDataContext();
…
e.articles.DeleteAllOnSubmit(aa);
e.SubmitChanges();
' VB
Dim e As New ExampleDataContext
…
e.articles.DeleteAllOnSubmit(aa)
e.SubmitChanges()In questo caso, è necessario cancellare preventivamente eventuali record figli per evitare errori nei vincoli sul database.
Scorrere il risultato di una query LINQ To SQL
Abbiamo già visto un esempio per leggere il contenuto di un record. Vediamo ora come leggere i record per la loro visualizzazione. Se volessimo visualizzare tutti i record appena memorizzati con il codice precedente, potremmo scrivere:
// C#
ExampleDataContext e = new ExampleDataContext();
var ess = from a in e.articles
select a;
foreach (var e1 in ess)
{
Console.Write(e1.code);
Console.Write(" ");
Console.Write(e1.article_type.description);
foreach (var e2 in e1.articlesauthors)
{
Console.Write(" - ");
Console.Write(e2.author.author1);
}
Console.WriteLine(".");
}
' VB
Dim e As New ExampleDataContext
Dim ess = From a In e.articles _
select a
Dim e1
For Each e1 In ess
Console.Write(e1.code)
Console.Write(" ")
Console.Write(e1.article_type.description)
Dim e2
For Each e2 In e1.articlesauthors
Console.Write(" - ")
Console.Write(e2.author.author1)
Next
Console.WriteLine(".")
NextNotare come non è stata inserita una sola riga di codice per l'accesso al database, LINQ To SQL fa tutto per noi.
Contenuti dell'articolo
- Pagina 1
- Pagina 2
- Pagina 3
- Pagina 4
- Pagina 5
- Pagina 6
Per inserire un commento, devi registrarti alla nostra community.





Difficoltà
Stampa
Download 


