Bước 1: tạo một kết nối mới đến database server bằng cách:

View > Server Explorer > kích chuột phải vào Data Connections, chọn Add Connection và điền các thông tin Server Name và database như hình sau:

Bấm Test Connection. Nếu thành công sẽ như sau:

Bấm OK. Cơ sở dữ liệu (ngocminhADO) sẽ xuất hiện trong Server Explorer:

Bước 2: thêm tập tin lớp LINQ to SQL bằng cách nhấp chuột phải vào tên Project trong cửa sổ Solution Explorer và chọn Add > New Item:

Chọn các tuỳ chọn và chọn LINQ to SQL classes trong hộp thoại Add New Item như sau và bấm Add:

Bước 3: chọn các bảng (GenreReview), kéo và thả vào tập tin lớp LINQ to SQL:

Kết quả sau khi kéo và thả các bảng:

Trước khi thực thi truy vấn LINQ to SQL, cần kết nối đến nguồn dữ liệu thông qua lớp DataContext.

Minh hoạ thao tác thêm, xoá, sửa bảng Genre với LINQ to SQL

Thêm (Insert)

Mã VB:


Dim connectString As String = System.Configuration.ConfigurationManager.ConnectionStrings("LinqFirst.My.MySettings.ngocminhADOConnectionString").ToString()

Dim db As New LINQtoSQLDataContext(connectString)

Dim newGen As New Genre()

newGen.ID = "102"

newGen.Name = "Rock"

db.Genres.InsertOnSubmit(newGen)

db.SubmitChanges()

Dim insertedGenre As Genre = db.Genres.FirstOrDefault(Function(e) e.Name.Equals("Rock"))

Console.WriteLine("Genre Id = {0} , Name = {1}", insertedGenre.ID, insertedGenre.Name)

Console.WriteLine(vbLf & "Press any key to continue.")

Console.ReadKey()

Chú ý:

Visual sẽ cảnh báo lỗi với System.Configuration.ConfigurationManager vì chúng ta chưa tham chiếu đến thư viện System.Configuration.Dll:

Để tham chiếu đến thư viện chúng ta vào PROJECT > Add Reference và chọn các tuỳ chọn trong hộp thoại Reference Manager như sau:

Cũng cần chú ý rằng, tên chuỗi kết nối (trong thuộc tính ConnectionStrings) sẽ được lấy ra từ tập tin App.config:

Mã C#:


string connectString = System.Configuration.ConfigurationManager.ConnectionStrings["LinqFirst.My.MySettings.ngocminhADOConnectionString"].ToString();

LINQtoSQLDataContext db = new LINQtoSQLDataContext(connectString);

Genre newGen = new Genre();

newGen.ID = "102";

newGen.Name = "Rock";

db.Genres.InsertOnSubmit(newGen);

db.SubmitChanges();

Genre insertedGenre = db.Genres.FirstOrDefault(e => e.Name.Equals("Rock"));

Console.WriteLine("Genre Id = {0} , Name = {1}", insertedGenre.ID, insertedGenre.Name);

Console.WriteLine("\nPress any key to continue.");

Console.ReadKey();

Cập nhật hay chỉnh sửa (Update)

Mã VB


Dim connectString As String = System.Configuration.ConfigurationManager.ConnectionStrings("LinqFirst.My.MySettings.ngocminhADOConnectionString").ToString()

Dim db As New LINQtoSQLDataContext(connectString)

Dim gen As Genre = db.Genres.FirstOrDefault(Function(e) e.Name.Equals("Rock"))

' chỉnh sửa thông tin

gen.Name = "Classic"

'cập nhật đến database

db.SubmitChanges()

' hiển thị thông tin genre vừa cập nhật

Dim updatedGenre As Genre = db.Genres.FirstOrDefault(Function(e) e.Name.Equals("Classic"))

Console.WriteLine("Genre Id = {0} , Name = {1}", updatedGenre.ID, updatedGenre.Name)

Console.WriteLine(vbLf & "Press any key to continue.")

Console.ReadKey()

Mã C#


string connectString = System.Configuration.ConfigurationManager.ConnectionStrings["LinqFirst.My.MySettings.ngocminhADOConnectionString"].ToString();

LINQtoSQLDataContext db = new LINQtoSQLDataContext(connectString);

Genre gen = db.Genres.FirstOrDefault(e=>e.Name.Equals("Rock"));

// chỉnh sửa thông tin

gen.Name = "Classic";

'cập nhật đến database

db.SubmitChanges();

' hiển thị thông tin genre vừa cập nhật

Genre updatedGenre= db.Genres.FirstOrDefault(e=>e.Name.Equals("Classic"));

Console.WriteLine("Genre Id = {0} , Name = {1}", updatedGenre.ID, updatedGenre.Name);

Console.WriteLine("\nPress any key to continue.");

Console.ReadKey();

Xoá (Delete)

Mã VB


Dim connectString As String = System.Configuration.ConfigurationManager.ConnectionStrings("LinqFirst.My.MySettings.ngocminhADOConnectionString").ToString()

Dim db As New LINQtoSQLDataContext(connectString)

' xoá gen có Name = Classic

Dim deletedGenre As Genre = db.Genres.FirstOrDefault(Function(e) e.Name.Equals("Classic")

db.Genres.DeleteOnSubmit(deletedGenre)

'cập nhật đến database

db.SubmitChanges()

' hiển thị thông tin của bảng Genre sau khi xoá

Dim genList = db.Genres

For Each gen As Genre In genList

Console.WriteLine("Genre Id = {0} , Name = {1}", gen.ID, gen.Name)

Next

Console.WriteLine(vbLf & "Press any key to continue.")

Console.ReadKey()

Mã C#


string connectString = System.Configuration.ConfigurationManager.ConnectionStrings["LinqFirst.My.MySettings.ngocminhADOConnectionString"].ToString();

LINQtoSQLDataContext db = new LINQtoSQLDataContext(connectString);

//xoá gen có Name = Classic

Genre deletedGenre = db.Genres.FirstOrDefault(e=> e.Name.Equals("Classic");

db.Genres.DeleteOnSubmit(deletedGenre);

//cập nhật đến database

db.SubmitChanges();

// hiển thị thông tin của bảng Genre sau khi xoá

var genList = db.Genres;

foreach (Genre gen In genList){

Console.WriteLine("Genre Id = {0} , Name = {1}", gen.ID, gen.Name);

}

Console.WriteLine("\nPress any key to continue.");

Console.ReadKey();

< LINQ to SQL