Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
LinQ to SQL obsługuje wszystkie kluczowe możliwości, których można oczekiwać jako deweloper SQL. Możesz wykonywać zapytania dotyczące informacji oraz wstawiać, aktualizować i usuwać informacje z tabel.
Wybieranie
Wybranie (projekcja) jest osiągane przez napisanie zapytania LINQ we własnym języku programowania, a następnie wykonanie tego zapytania w celu pobrania wyników. LinQ to SQL sam tłumaczy wszystkie niezbędne operacje na niezbędne operacje SQL, które znasz. Aby uzyskać więcej informacji, zobacz LINQ to SQL.
W poniższym przykładzie nazwy firm klientów z Londynu są pobierane i wyświetlane w oknie konsoli.
// 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
Wstawianie
Aby wykonać SQL Insert, wystarczy dodać obiekty do utworzonego modelu obiektów i wywołać metodę SubmitChanges na DataContext.
W poniższym przykładzie nowy klient i informacje o kliencie Customers są dodawane do tabeli przy użyciu polecenia InsertOnSubmit.
// 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()
Aktualizowanie
Aby utworzyć Update wpis bazy danych, najpierw pobierz element i edytuj go bezpośrednio w modelu obiektów. Po zmodyfikowaniu obiektu wywołaj SubmitChanges na DataContext , aby zaktualizować bazę danych.
W poniższym przykładzie wszyscy klienci z Londynu zostają pobrani. Następnie nazwa miasta zostanie zmieniona z "Londyn" na "Londyn - Metro". Na koniec jest wywoływana funkcja SubmitChanges w celu wysłania zmian do bazy danych.
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()
Usuwanie
Aby Delete element, usuń go z kolekcji, do której należy, a następnie wywołaj SubmitChanges na DataContext, aby zatwierdzić zmianę.
Uwaga / Notatka
LinQ to SQL nie rozpoznaje operacji usuwania kaskadowego. Jeśli chcesz usunąć wiersz w tabeli, która ma ograniczenia, zobacz Instrukcje: usuwanie wierszy z bazy danych.
W poniższym przykładzie klient posiadający CustomerID z 98128 jest pobierany z bazy danych. Następnie, po potwierdzeniu pobrania wiersza klienta, wywołuje się DeleteOnSubmit w celu usunięcia tego obiektu z kolekcji. Na koniec wywoływana jest SubmitChanges w celu przekazania usunięcia do bazy danych.
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
Zobacz także
- Przewodnik programowania
- Model obiektowy LINQ to SQL
- Pierwsze kroki