1. Trang chủ
  2. » Công Nghệ Thông Tin

Làm việc với LINQ trên Visual Studio 2008 potx

10 220 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 471,97 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Làm việc với LINQ trên Visual Studio 2008 LINQ và Visual Studio 2008 IDE khiến cho việc lấy dữ liệu trở nên khá dễ dàng từ một cơ sở dữ liệu SQL Server.. Một tài nguyên dbml được tạo ra

Trang 1

Làm việc với LINQ trên Visual Studio 2008

LINQ và Visual Studio 2008 IDE khiến cho việc lấy

dữ liệu trở nên khá dễ dàng từ một cơ sở dữ liệu SQL Server Visual Studio bao gồm một mục khung mẫu

có tên gọi LINQ to SQL Classes mà bạn có thể thêm vào trong dự án

O/R Designer

LINQ và Visual Studio 2008 IDE khiến cho việc lấy

dữ liệu trở nên khá dễ dàng từ một cơ sở dữ liệu SQL Server Visual Studio bao gồm một mục khung mẫu

có tên gọi LINQ to SQL Classes mà bạn có thể thêm vào trong dự án Một tài nguyên dbml được tạo ra khi bạn thêm vào kiểu mục này với một tên mặc định

(mà bạn có thể thay đổi) của DataClasses1.dbml

Khi mục đó được bổ sung thì ô O/R Designer sẽ được

mở ra bên trong Visual Studio Điều này sẽ cho phép

Trang 2

bạn kéo và thả các mục cơ sở dữ liệu (bảng, xem, thủ tục lưu trữ) tới O/R Designer O/R Designer tạo ra tập tin dbml, tập tin này sẽ cung cấp kết nối giữa các lớp LINQ to SQL Classes và các đối tượng cơ sở dữ liệu O/R Designer đồng thời cũng tạo ra

DataContext và các lớp thực thể

Có hai khu vực chính bên trong O/R Designer là

Entities và Methods Khu vực chính của cùng thiết kế dành cho các thực thể như Tables và Viewa, cùng với

sự phân cấp và mọi thứ có liên quan Ô Methods bao gồm các thủ tục và chức năng được lưu trữ đã được nối kết tới các phương pháp của lớp DataContext O/R Designer hiện thời hỗ trợ SQL Server 2000,

SQL Server 2005 và SQL Express Edition

Trước đi đi sâu vào xem xét ví dụ, chúng ta hãy cùng tìm hiểu kĩ hơn về truy vấn LINQ

Trang 3

Truy vấn

Bạn cần thực hiện ba bước để truy nhập dữ liệu thông qua LINQ: Thu thập nguồn dữ liệu, tạo các truy vấn

và thực hiện truy vấn Một truy vấn được dùng để định nghĩa xem dữ liệu nào đã được khôi phục từ

nguồn dữ liệu Ngoài ra, bạn có thể thao tác dữ liệu thông qua việc sắp xếp, nhóm và những thứ tương tự Một truy vấn được lưu trữ trong một biến truy vấn và được khởi tạo với một biểu thức truy vấn

Truy vấn có những cú pháp riêng, những cú pháp này mạnh giống với chuẩn SQL Một biểu thức truy vấn

có ba mệnh đề: from, where và select Mệnh đề form định nghĩa nguồn dữ liệu; Mệnh đề select định nghĩa những cái quay trở lại; Và mệnh đề where (không bắt buộc) giúp bạn làm rõ hơn một tìm kiếm bao gồm chỉ các dữ liệu phù hợp với tiêu chuẩn nhất định

Truy vấn sẽ không được thực hiện cho đến khi nó đã

Trang 4

được truy nhập; Điều này giống như là hoãn lại quá trình thực hiện Ví dụ tiếp theo sẽ cung cấp nhanh việc sử dụng truy vấn

Ví dụ

Tạo một dự án trang web bao gồm một mục LINQ to SQL Classes, mục này kết nối tới cơ sở dữ liệu chuẩn Northwind trên SQL Server 2000 Một thực thể được tạo ra cho bảng Customers O/R Designer tạo ra tập

tin dbml đặt tên là DataClasses1.dbml

Khi lớp DataContext được tạo ra trên bảng và thủ tục lưu trữ trên cơ sở dữ liệu Northwind, bạn có thể sử dụng lớp này trong đoạn mã khác Khi sử dụng lớp DataContext được tạo, nó phải bao gồm tên với

DataContext được bổ sung vào sau Trong ví dụ này bạn phải sử dụng tên DataClasses1DataContext

(Visual Studio IntelliSense hỗ trợ đầy đủ LINQ và tất

Trang 5

cả các lớp của nó, vì vậy bạn có thể dễ dàng tránh được lỗi cho gõ phím)

Tôi sử dụng ASP.NET WEB Form trong ví dụ sau:

<%@ Page Language="C#"

AutoEventWireup="true"

CodeBehind="Default.aspx.cs"

Inherits="LINQTest._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xh tml1-transitional.dtd">

<html

xmlns="http://www.w3.org/1999/xhtml

" >

<head runat="server">

<title>LINQ Example</title></head>

<body>

<form id="frmLINQTest"

Trang 6

runat="server">

<div>

<asp:GridView ID="gvCustomers"

runat="server"></asp:GridView>

</div></form></body></html>

Web Form có chứa một trường hợp của điều khiển GridView; Điều khiển này hiển thị dữ liệu thông qua LINQ Đoạn mã được đặt bên trong sự kiện

Page_Load, vì vậy dữ liệu sẽ được tải vào khi bạn mở trang web

Bước đầu tiên bạn sẽ tạo ra một thể hiện của lớp

DataContext Điều này sẽ cung cấp sự truy nhập cơ

sở dữ liệu, vì vậy bạn có thể truy nhập vào bảng của

nó như một thuộc tính của lớp DataContext Ngay khi lớp DataContext được tạo ra thì bạn có thể lấy dữ liệu

từ đây thông qua một truy vấn

Đoạn mã bao gồm một truy vấn kéo mọi bản ghi dữ

Trang 7

liệu và các cột từ bảng Customers Dữ liệu được sắp xếp bởi cột thứ hai và truy vấn được thực hiện khi nó tác động lên điều khiển GridView trên trang

protected void Page_Load(object

sender, EventArgs e) {

DataClasses1DataContext db = new

DataClasses1DataContext();

var customers = from p in

db.Customers

orderby 1

select p;

gvCustomers.DataSource = customers; gvCustomers.DataBind();

}

Đây là đoạn mã tương ứng trên Visual Basic:

Protected Sub Page_Load(ByVal

sender As Object, ByVal e As

System.EventArgs) Handles Me.Load

Trang 8

Dim db As DataClasses1DataContext = New DataClasses1DataContext()

Dim customers As Object

customers = From p In db.Customers Order By 1 Select p

gvCustomers.DataSource = customers gvCustomers.DataBind()

End Sub

Khi tải trang web, mọi dữ liệu từ bảng Customers sẽ được hiển thị trên điều khiển GridView

Như trong ví dụ thì bạn có thể dễ dàng gọi thủ tục lưu trữ trên SQL Server như là một phương pháp của đối tượng DataContext Những kết quả của phương pháp này - thủ tục lưu trữ - có thể được dùng chứa một

điều khiển dữ liệu tương tự như điều khiển mà trước

đó sử dụng GridView, như trong đoạn mã tiếp theo sau đây:

Trang 9

protected void Page_Load(object

sender, EventArgs e) {

DataClasses1DataContext db = new

DataClasses1DataContext();

var top_customers =

db.Ten_Most_Expensive_Products(); gvCustomers.DataSource =

top_customers;

gvCustomers.DataBind();

}

Đây là đoạn mã tương ứng trên Visual Basic:

Protected Sub Page_Load(ByVal

sender As Object, ByVal e As

System.EventArgs) Handles Me.Load Dim db As DataClasses1DataContext = New DataClasses1DataContext()

Dim customers As Object

customers =

db.Ten_Most_Expensive_Products()

Trang 10

gvCustomers.DataSource = customers gvCustomers.DataBind()

End Sub

Những ví dụ đơn giản này đã biểu thị cú pháp truy vấn và cách sử dụng O/R Designer như thế nào trên Visual Studio 2008 LINQ cho phép bạn thao tác cập nhật, xóa, thêm (update, delete, add) và đọc dữ liệu

Ngày đăng: 27/06/2014, 06:20

TỪ KHÓA LIÊN QUAN

w