Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
LINQ to SQL unterstützt alle wichtigen Funktionen, die Sie als SQL-Entwickler erwarten würden. Sie können Informationen abfragen und Informationen aus Tabellen einfügen, aktualisieren und löschen.
Auswählen
Die Auswahl (Projektion) wird erreicht, indem sie einfach eine LINQ-Abfrage in Ihrer eigenen Programmiersprache schreiben und dann diese Abfrage ausführen, um die Ergebnisse abzurufen. LINQ to SQL selbst übersetzt alle erforderlichen Vorgänge in die erforderlichen SQL-Vorgänge, mit denen Sie vertraut sind. Weitere Informationen finden Sie unter LINQ to SQL.
Im folgenden Beispiel werden die Firmennamen von Kunden aus London abgerufen und im Konsolenfenster angezeigt.
// Northwnd inherits from System.Data.Linq.DataContext.
Northwnd nw = new Northwnd(@"northwnd.mdf");
// or, if you are not using SQL Server Express
// Northwnd nw = new Northwnd("Database=Northwind;Server=server_name;Integrated Security=SSPI");
var companyNameQuery =
from cust in nw.Customers
where cust.City == "London"
select cust.CompanyName;
foreach (var customer in companyNameQuery)
{
Console.WriteLine(customer);
}
' Northwnd inherits from System.Data.Linq.DataContext.
Dim nw As New Northwnd("c:\northwnd.mdf")
' or, if you are not using SQL Server Express
' Dim nw As New Northwnd("Database=Northwind;Server=dschwart7;Integrated Security=SSPI")
Dim companyNameQuery = _
From cust In nw.Customers _
Where cust.City = "London" _
Select cust.CompanyName
For Each customer In companyNameQuery
Console.WriteLine(customer)
Next
Einfügen
Zum Ausführen eines SQL- Insertkönnen Sie einfach dem erstellten Objektmodell Objekte hinzufügen und SubmitChanges im DataContextaufrufen.
Im folgenden Beispiel werden ein neuer Kunde und Informationen zum Kunden mithilfe von Customers, der InsertOnSubmit-Tabelle hinzugefügt.
// Northwnd inherits from System.Data.Linq.DataContext.
Northwnd nw = new Northwnd(@"northwnd.mdf");
Customer cust = new Customer();
cust.CompanyName = "SomeCompany";
cust.City = "London";
cust.CustomerID = "98128";
cust.PostalCode = "55555";
cust.Phone = "555-555-5555";
nw.Customers.InsertOnSubmit(cust);
// At this point, the new Customer object is added in the object model.
// In LINQ to SQL, the change is not sent to the database until
// SubmitChanges is called.
nw.SubmitChanges();
' Northwnd inherits from System.Data.Linq.DataContext.
Dim nw As New Northwnd("c:\northwnd.mdf")
Dim cust As New Customer With {.CompanyName = "SomeCompany", _
.City = "London", _
.CustomerID = 98128, _
.PostalCode = 55555, .Phone = "555-555-5555"}
nw.Customers.InsertOnSubmit(cust)
' At this point, the new Customer object is added in the object model.
' In LINQ to SQL, the change is not sent to the database until
' SubmitChanges is called.
nw.SubmitChanges()
Wird aktualisiert
Zum Aktualisieren eines Datenbankeintrags mit Update , rufen Sie zuerst das Element ab und bearbeiten es direkt im Objektmodell. Nachdem Sie das Objekt geändert haben, rufen Sie SubmitChanges im DataContext auf, um die Datenbank zu aktualisieren.
Im folgenden Beispiel werden alle Kunden aus London abgerufen. Dann wird der Name der Stadt von "London" in "London - Metro" geändert. Schließlich wird SubmitChanges aufgerufen, um die Änderungen an die Datenbank zu senden.
Northwnd nw = new Northwnd(@"northwnd.mdf");
var cityNameQuery =
from cust in nw.Customers
where cust.City.Contains("London")
select cust;
foreach (var customer in cityNameQuery)
{
if (customer.City == "London")
{
customer.City = "London - Metro";
}
}
nw.SubmitChanges();
Dim nw As New Northwnd("c:\northwnd.mdf")
Dim cityNameQuery = _
From cust In nw.Customers _
Where cust.City.Contains("London") _
Select cust
For Each customer In cityNameQuery
If customer.City = "London" Then
customer.City = "London - Metro"
End If
Next
nw.SubmitChanges()
Wird gelöscht
Wenn Sie ein Element löschen möchten ( Delete ), entfernen Sie dieses aus der entsprechenden Auflistung, und rufen Sie dann SubmitChanges im DataContext auf, um die Änderung zu bestätigen.
Hinweis
LINQ to SQL erkennt keine Kaskadenlöschvorgänge. Wenn Sie eine Zeile in einer Tabelle löschen möchten, die Einschränkungen enthält, lesen Sie "How to: Delete Rows From the Database".
Im folgenden Beispiel wird der Kunde mit der CustomerID98128 aus der Datenbank abgerufen. Nachdem bestätigt wurde, dass die Kundenzeile abgerufen wurde, wird DeleteOnSubmit aufgerufen, um dieses Objekt aus der Auflistung zu entfernen. Schließlich wird aufgerufen, SubmitChanges um den Löschvorgang an die Datenbank weiterzuleiten.
Northwnd nw = new Northwnd(@"northwnd.mdf");
var deleteIndivCust =
from cust in nw.Customers
where cust.CustomerID == "98128"
select cust;
if (deleteIndivCust.Count() > 0)
{
nw.Customers.DeleteOnSubmit(deleteIndivCust.First());
nw.SubmitChanges();
}
Dim nw As New Northwnd("c:\northwnd.mdf")
Dim deleteIndivCust = _
From cust In nw.Customers _
Where cust.CustomerID = 98128 _
Select cust
If deleteIndivCust.Count > 0 Then
nw.Customers.DeleteOnSubmit(deleteIndivCust.First)
nw.SubmitChanges()
End If