• Không có kết quả nào được tìm thấy

Tìm hiểu về LINQ to SQL và ứng dụng

Protected

Academic year: 2024

Chia sẻ "Tìm hiểu về LINQ to SQL và ứng dụng"

Copied!
96
0
0

Loading.... (view fulltext now)

Văn bản

Nội dung và yêu cầu cần giải quyết của nhiệm vụ luận văn tốt nghiệp a. Đánh giá chất lượng luận văn (so với nội dung yêu cầu xác định trong đề cương luận án). Trong phát triển phần mềm, nhu cầu truy cập và thao tác dữ liệu là vô cùng cần thiết.

Đặc biệt, với SQLExpress để truy vấn dữ liệu chúng ta phải sử dụng các câu lệnh rất phức tạp - Hơn nữa, để sử dụng trong C#, Query được thêm vào một lớp phức tạp khác với các câu lệnh: ConnectionString khởi tạo kết nối tới cơ sở dữ liệu, tự động khai báo các biến để thực thi một lệnh , sau đó tính toán đầu ra của lệnh, v.v. Giới thiệu LINQ to SQL giúp các nhà phát triển .NET giảm bớt gánh nặng phải dựa vào bên thứ ba (sử dụng SQL để truy vấn). LINQ to SQL đồng thời đồng bộ hóa dữ liệu nhận và trả về trong quá trình truy xuất dữ liệu bằng cách tự động tạo các Mô hình Dữ liệu nhận dữ liệu trả về để tương thích với các kiểu dữ liệu tương ứng khi ánh xạ tới cơ sở dữ liệu.

Điều này tránh mất mát hoặc hỏng dữ liệu khi truy cập và thao tác với cơ sở dữ liệu. Đề tài giúp tôi vận dụng những hiểu biết về LinQ to SQL để xây dựng chương trình ứng dụng thực tế cho bài toán thu học phí cho sinh viên Trường Đại học Dân lập Hải Phòng đáp ứng một số yêu cầu.

LinQ là gì?

  • Tại sao phải dùng tới LinQ?
  • Kiến trúc và thành phần của LinQ
  • Vì sao LinQ to Sql ra đời?
  • Vì sao nên sử dụng LinQ to SQL?

Cần tạo một mảng mới, gộp dữ liệu từ 2 Mangsinhvien và Mangtruong rồi chạy vòng lặp foreach. Mục đích của việc tạo LINQ hay LINQ to SQL là để vận hành hệ quản trị cơ sở dữ liệu SQL Server và nền tảng .NET nói chung hoặc ngôn ngữ lập trình C#/VB.NET nói riêng, không nhằm mục đích chung. các hệ quản trị cơ sở dữ liệu khác. SQL Server là một hệ thống quản lý cơ sở dữ liệu (DBMS) dựa trên mô hình quan hệ, mô hình cơ sở dữ liệu quan hệ ghi dữ liệu theo hàng trong bảng dữ liệu.

Sau đó, LINQ to SQL ra đời dựa trên công nghệ ORM, thu hẹp khoảng cách giữa mô hình lập trình hướng đối tượng C#/VB.NET và hệ thống quản lý cơ sở dữ liệu SQL Server. Khi sử dụng LINQ to SQL với hệ quản trị cơ sở dữ liệu SQL Server, bạn không cần tạo các lớp Data Model để thu thập dữ liệu trả về khi truy vấn dữ liệu vì LINQ to SQL đã tạo sẵn các lớp này với tất cả các chức năng cần thiết. Thuộc tính và kiểu dữ liệu khớp với kiểu dữ liệu của các cột bạn chỉ định trong cơ sở dữ liệu (thuộc tính của từng lớp được liên kết với các cột của bảng tương ứng trong cơ sở dữ liệu). LINQ to SQL cung cấp một giao diện trực quan cho các mối quan hệ trong bảng dữ liệu sau khi nó được mô hình hóa.

Các lớp DataContext chịu trách nhiệm mở kết nối tới cơ sở dữ liệu, chạy truy vấn hoặc sửa đổi dữ liệu. Các lớp thuộc tính được mô hình hóa từ các bảng dữ liệu trong hệ thống quản lý cơ sở dữ liệu và được truy cập thông qua các lớp DataContext.

Hình 1.1 Kiến trúc và thành phần của LINQ
Hình 1.1 Kiến trúc và thành phần của LINQ

Những hạn chế của LinQ to SQL

  • ORM (Object Relations Mapping)
  • O/R Designer ( Object Relations Designer )
  • Entity Class
  • Association
  • DataContext

Nó là phương pháp ánh xạ một-một trực tiếp giữa các đối tượng trong cơ sở dữ liệu quan hệ và các lớp .NET. Là công cụ có sẵn trong Visual Studio IDE từ phiên bản 2008, dùng để hỗ trợ việc tạo Object Model. Tạo các lớp ENTITY (bảng, dạng xem từ cơ sở dữ liệu được ánh xạ vào các lớp) vào các đối tượng làm việc.

Khi sử dụng ENTITY Class sẽ ánh xạ tới một bảng và một thuộc tính sẽ ánh xạ tới một cột của bảng. Các bảng và dạng xem từ cơ sở dữ liệu được ánh xạ tới các lớp được gọi là lớp thực thể. Một lớp thực thể sẽ ánh xạ tới một bảng và một thuộc tính sẽ ánh xạ tới một cột của bảng.

Mối quan hệ, còn được gọi là mối quan hệ ENTITY, dựa trên khóa chính và khóa ngoại. Ngoài ra, nó còn quản lý danh tính (IDENTITY) của các đối tượng trong cơ sở dữ liệu, chẳng hạn như bảng, dạng xem, v.v.

Hình 1.4 Mô hình ánh xạ từ mô hình CSDL
Hình 1.4 Mô hình ánh xạ từ mô hình CSDL

Mô hình ánh xạ của LinQ to SQL

Tầng kiến trúc

Các Actions của LinQ to SQL

Tạo cơ sở dữ liệu bằng SQL Server

Xây dựng chƣơng trình

Tạo chƣơng trình và lập kết nối LINQ to SQL với SQL SERVER Bƣớc 1 : Tạo giao diện phần mềm làm việc

Tạo kết nối LINQ to SQL sử dụng Microsoft SQL Server 2008 R2 bằng cách: Click Server Explorer  Choose Data Connections  Choose Add Connection…. Kết nối với cơ sở dữ liệu HOCPHI và kiểm tra kết nối thành công Hình 2.12 Giao diện tạo biểu mẫu để kết nối LINQ to SQL thành công. Các bảng và khung nhìn sau khi kết nối thành công Hình 2.14 Kết nối LINQ to SQL thành công.

Nhấp chuột phải vào khoảng trống trong biểu mẫu => Chọn Thuộc tính => Chọn "Văn bản" => Đổi tên. Từ Toolbox => Chọn Menu & Toolbar => Chọn MenuStrip để Menu Bar chọn các Form tương ứng. Form sinh viên chứa các nút có chức năng thêm, sửa, xóa, lưu, tìm kiếm và thống kê bảng STUDENT trong cơ sở dữ liệu HOCPHI.

Ở đây tôi đã tạo thêm một hộp danh sách để hỗ trợ tìm kiếm nhanh tên sinh viên Hình 2.17 Giao diện mã của menu Form. Sử dụng Action Select để chuyển đổi giữa các bảng để lấy dữ liệu var svnew = from bangsv trong db.sinhviens. Sử dụng Action Join để nối giữa các bảng để lấy dữ liệu var query = from k in lp.

Tạo các thủ tục lưu trữ để truy vấn dữ liệu cho hộp danh sách trong bảng sinh viên.

Hình 2.8  Tạo Project làm việc
Hình 2.8 Tạo Project làm việc

Nhận xét và đánh giá

Nhìn chung phần mềm trên đã giải quyết được hầu hết các yêu cầu và chức năng đề xuất của bài toán. Trình bày và xây dựng cơ sở dữ liệu về vấn đề quản lý học phí cho sinh viên Trường Đại học Dân lập Hải Phòng. Phần mềm “Quản lý sinh viên Trường Đại học Dân lập Hải Phòng” với chức năng: tìm kiếm dữ liệu, tạo và cập nhật số liệu thống kê với cơ sở dữ liệu HOCPHI đã tạo.

Phần mềm đã được test với một số dữ liệu chạy mượt và cho kết quả đạt yêu cầu của bài toán. Do thời gian có hạn và kinh nghiệm thực tế chưa nhiều nên việc xây dựng phần mềm “Quản lý học phí của sinh viên Trường Đại học Dân lập Hải Phòng” về cơ bản đã triển khai tương đối đầy đủ nhưng vẫn chưa hoàn thiện. Mô tả đầy đủ tất cả các khía cạnh của vấn đề. Phần mềm được xây dựng nhưng chỉ có những chức năng chính, cần thêm nhiều chức năng nữa để phần mềm hoạt động tốt hơn và hoàn thiện hơn.

Nếu có điều kiện trong thời gian tới mình sẽ hoàn thiện phần mềm để nó hoàn thiện hơn và dễ quản lý hơn.

Tài liệu tham khảo

Tài liệu liên quan