Utilizzare Visual Studio 2008 per semplificare lo sviluppo con LINQ to SQL

6 pagine in totale: <<Indietro 1 2 3 [4] 5 6 Avanti >>

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 database

Cancellare 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(".")
Next

Notare come non è stata inserita una sola riga di codice per l'accesso al database, LINQ To SQL fa tutto per noi.

6 pagine in totale: <<Indietro 1 2 3 [4] 5 6 Avanti >>

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.


TUTORIALS


IN EVIDENZA
MISC