Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
DataContext, veritabanına bağlandığınız, veritabanından nesneleri aldığınız ve değişiklikleri geri gönderdiğiniz ana kanaldır. aynı ADO.NET SqlConnectiongibi kullanırsınızDataContext. Aslında , DataContext sağladığınız bir bağlantı veya bağlantı dizesi ile başlatılır. Daha fazla bilgi için bkz. DataContext Yöntemleri (O/R Tasarım Aracı).
öğesinin DataContext amacı, nesnelere yönelik isteklerinizi veritabanında yapılacak SQL sorgularına çevirmek ve ardından sonuçların dışında nesneleri bir araya getirmektir. , DataContext ve Selectgibi Where Standart Sorgu İşleçleri ile aynı işleç desenini uygulayarak DilLe Tümleşik Sorguyu (LINQ) etkinleştirir.
Önemli
Güvenli bir bağlantının korunması en yüksek öneme sahip olandır. Daha fazla bilgi için bkz . LINQ to SQL'de güvenlik.
Örnek 1
Aşağıdaki örnekte, DataContext Northwind örnek veritabanına bağlanmak ve şehri Londra olan müşterilerin satırlarını almak için kullanılır.
// DataContext takes a connection string.
DataContext db = new DataContext(@"c:\Northwind.mdf");
// Get a typed table to run queries.
Table<Customer> Customers = db.GetTable<Customer>();
// Query for customers from London.
var query =
from cust in Customers
where cust.City == "London"
select cust;
foreach (var cust in query)
Console.WriteLine("id = {0}, City = {1}", cust.CustomerID, cust.City);
' DataContext takes a connection string.
Dim db As New DataContext("…\Northwind.mdf")
' Get a typed table to run queries.
Dim Customers As Table(Of Customer) = db.GetTable(Of Customer)()
' Query for customer from London.
Dim Query = _
From cust In Customers _
Where cust.City = "London" _
Select cust
For Each cust In Query
Console.WriteLine("id=" & cust.CustomerID & _
", City=" & cust.City)
Next
Her veritabanı tablosu, varlık sınıfı kullanılarak yöntemiyle kullanılabilen GetTable bir Table koleksiyon olarak temsil edilir.
Örnek 2
En iyi yöntem, temel DataContext sınıfa ve yöntemine güvenmek yerine kesin olarak türlenmiş DataContext bir bildirmektirGetTable. Kesin olarak yazılan DataContext , aşağıdaki örnekte olduğu gibi tüm Table koleksiyonları bağlamın üyeleri olarak bildirir.
public partial class Northwind : DataContext
{
public Table<Customer> Customers;
public Table<Order> Orders;
public Northwind(string connection) : base(connection) { }
}
Partial Public Class Northwind
Inherits DataContext
Public Customers As Table(Of Customer)
Public Orders As Table(Of Order)
Public Sub New(ByVal connection As String)
MyBase.New(connection)
End Sub
End Class
Daha sonra Londra'dan müşteriler için sorguyu daha basit bir şekilde ifade edebilirsiniz:
Northwnd db = new Northwnd(@"c:\Northwnd.mdf");
var query =
from cust in db.Customers
where cust.City == "London"
select cust;
foreach (var cust in query)
Console.WriteLine("id = {0}, City = {1}", cust.CustomerID,
cust.City);
Dim db As New Northwind("...\Northwnd.mdf")
Dim query = _
From cust In db.Customers _
Where cust.City = "London" _
Select cust
For Each cust In query
Console.WriteLine("id=" & cust.CustomerID & _
", City=" & cust.City)
Next