Bagikan melalui


Cara: Menyambung ke Database

DataContext adalah saluran utama yang Anda sambungkan ke database, mengambil objek darinya, dan mengirimkan perubahan kembali ke database tersebut. Anda menggunakan DataContext sama seperti anda akan menggunakan ADO.NET SqlConnection. Bahkan, DataContext diinisialisasi dengan koneksi atau string koneksi yang Anda sediakan. Untuk informasi selengkapnya, lihat Metode DataContext (O/R Designer).

Tujuan dari DataContext adalah untuk menerjemahkan permintaan Anda untuk objek ke dalam kueri SQL yang akan dibuat terhadap database, lalu merakit objek dari hasil. DataContext mengaktifkan Language-Integrated Query (LINQ) dengan menerapkan pola operator yang sama dengan Operator Kueri Standar, seperti Where dan Select.

Penting

Mempertahankan koneksi yang aman adalah yang paling penting. Untuk informasi selengkapnya, lihat Keamanan di LINQ to SQL.

Contoh 1

Dalam contoh berikut, DataContext digunakan untuk menyambungkan ke database sampel Northwind dan untuk mengambil baris pelanggan yang mana kotanya adalah London.

// 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

Setiap tabel database direpresentasikan sebagai koleksi Table yang tersedia melalui metode GetTable, dengan menggunakan kelas entitas untuk mengidentifikasinya.

Contoh 2

Praktik terbaik adalah mendeklarasikan jenis DataContext yang sangat kuat alih-alih mengandalkan kelas dasar DataContext dan metode GetTable. Jenis DataContext yang sangat kuat mendeklarasikan semua koleksi Table sebagai anggota konteks, seperti dalam contoh berikut.

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

Anda kemudian dapat mengekspresikan kueri untuk pelanggan dari London lebih sederhana sebagai:

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

Lihat juga