2009-07-01 6 views
0

Meine Frage ist in Bezug auf einen Beispielcode aus diesem Artikel MSDN:
Getting Started (LINQ to SQL)Very Basic LINQ to SQL Frage

Der folgende Code wird in dem Artikel aufgeführt:

// Northwnd inherits from System.Data.Linq.DataContext. 
Northwnd nw = new Northwnd(@"northwnd.mdf"); 

var companyNameQuery = 
    from cust in nw.Customers 
    where cust.City == "London" 
    select cust.CompanyName; 

foreach (var customer in companyNameQuery) 
{ 
    Console.WriteLine(customer); 
} 

Wie wird "nw" erstellt ? Woher kommt der Datentyp "Northwnd"? Wie soll ich auf diese Weise auf meine Datenbank zugreifen? Ich schreibe eine Anwendung, die auf einen SQL-Server zugreift, und ich habe die entsprechenden DBML-Dateien zu meinem Projekt mit dem Server-Explorer hinzugefügt. Aber ich habe keine Ahnung, wie ich diese Codezeile schreibe, um auf meine Datenbank zuzugreifen.

Antwort

1

Die Datacontext-Typ und alle Einheiten sind aus Ihrer dbml Datei automatisch generiert, haben Sie die Datacontext-Namen auf dem Designer zu überprüfen, klicken Sie rechts auf einen leeren Fleck auf dem Diagramm klicken Eigenschaften und überprüfen Sie die Namen Eigenschaft auf dem Code Generation Abschnitt.

Ich denke, dass war ein früher Artikel, jetzt die Datacontext standardmäßig mit dem Datacontext Suffix benannt sind (zB: NorthwindDataContext, MyDatabaseDataContext, etc ...)

+4

Perfekte Antwort! Danke vielmals! Genau das musste ich wissen. – Giffyguy

+2

Gern geschehen! – CMS

0

Northwnd ist ein Datacontext-Objekt, und nachdem Sie hinzugefügt Ihre dbml-Datei, diese Klasse wird vom Designer für Sie erstellt und Sie können sie verwenden.

Wenn Sie ihn mit new initialisieren, öffnen Sie eine Verbindung zur Datenbank.

var companyNameQuery = 
    from cust in nw.Customers 
    where cust.City == "London" 
    select cust.CompanyName; 

wird in sql von LINQ2SQL-Anbieter übersetzt und gibt Ihnen das Ergebnis zurück.