risposta breve: non è necessario creare il DataContext da soli. LINQPad viene fornito con un sacco di campioni, dare un'occhiata a loro.
Quando colleghi LINQPad a un database, crea il DataContext per te. Le tabelle di DataContext (Table<T>
) e SubmitChanges()
sono disponibili come membri locali.
Per esempio, di LINQPad modalità predefinita "C# Expression" è possibile solo scrivere:
from p in Person
where p.Name == "Joe"
select p.Address
In modalità di LINQPad "C# Dichiarazione":
var query = from p in Person
where p.Name == "Joe"
select p.Address;
query.Dump(); // Dump() shows results below
Person joe = query.First();
joe.Name = "Peter";
SubmitChanges();
joe.Dump(); // shows joe's values under the previous query results
metodo di estensione Dump()
di LINQPad è molto utile può essere chiamato su qualsiasi oggetto o collezione (nella modalità di istruzione di LINQPad) per mostrare i risultati di seguito.
Nota che non è nemmeno necessario connettersi a un database per utilizzare LINQPad. È possibile lavorare con le collezioni in memoria:
int[] numbers = new[] { 1, 2, 3, 4, 5 };
numbers.Where(n => n > 3).Select(n => n * 2).Dump();
In realtà, non è nemmeno bisogno di usare LINQ to utilizzare LINQPad. Funziona anche alla grande come un compilatore di frammenti.
La classe che il codice viene generato in fa parte del DataContext generato per il database selezionato. Se è necessario fare riferimento al contesto del codice LINQPad, utilizzare "questo". Nota: LINQPad non genera il contesto esattamente come fa LINQ su SQL, quindi alcuni casi limite potrebbero non funzionare nello stesso modo in LINQPad come con LINQ a Sql. –