STDIO
Tìm kiếm gần đây
    Nội dung
    0
    0
    Chia sẻ
    Nội dung
    0
    0
    Chia sẻ

    LinQ – Giới Thiệu và Cách Sử Dụng

    Giới thiệu LinQ to SQL, hướng dẫn cài đặt và sử dụng LinQ to SQL.
    29/08/2015 23/09/2020 4 phút đọc
    LinQ – Giới Thiệu và Cách Sử Dụng

    LinQ to SQL là gì?

    LinQ có tên gọi là Language Integrated Query, một thư viện cung cấp cho ngôn ngữ lập trình C# và Visual Basic. Thư viện này cung cấp khả năng truy vấn database ngay trên ngôn ngữ lập trình. Khi sử dụng, LinQ sẽ mô phỏng lại cơ sở dữ liệu và lưu trong trương trình, sau đó mỗi entity sẽ được xây dựng thành mỗi class như mô hình MVC, từ đó có thể truy xuất database thông qua những class đó.

    LinQ to SQL phù hợp với những dự án phần mềm như quản lý bán hàng, quản lý của hàng, nhân viên vì cung cấp khả năng tạo một database ngay trong SQL Server thông qua mô hình database mà LinQ to SQL được người lập trình cung cấp trong quá trình xây dựng sản phẩm. Rút ngắn đáng kể thời gian cho lập trình viên và dễ dàng cho người sử dụng cài đặt.

    Cài đặt 

    Bước 1. Tạo một database có tên Member, trong database này gồm có 2 entity member và article.

     LinQ to SQL

    Bước 2. Tạo một project C# → vào View chọn SQL Server Object Explorer

    LinQ to SQL

    Bước 3. Chọn Add SQL Server và connect vào SQL Server trên máy, kết quả được một list các database.

    LinQ to SQL
    LinQ to SQL

    Bước 4. Chọn Add → New Item → chọn LINQ to SQL Classes và đặt lại tên (trong ví dụ này đặt tên cho file là DBMember.dbml), một file có đuôi dbml được tạo ra. Chọn tất cả các table trong database muốn sử dụng kéo vào trong file dbml này. Kết quả như sau.

    LinQ to SQL

    Tạo xong LinQ to SQL, các class có cùng tên với mỗi entity cũng đã được tạo ra.

    Các thao tác sử dụng LinQ to SQL

    Khởi tạo class DBMemberDataContext, mọi việc truy xuất cơ sở dữ liệu đều thông qua class này.

    Select

    DBMemberDataContext db = new DBMemberDataContext(); 
    
    var name = from table in db.members
               where table.idMember == 0
               select table.Name;
    
    foreach(var a in name)
    {
         Console.WriteLine(a);
    }
    

    Tạo một một biến tên table và biến này chứa dựng tất cả dữ liệu có trong table member.

    Điều kiện là tìm tất cả những những member nào có idMember bằng 0, có thể lấy theo điều kiện khác tùy loại điều kiện có số lượng kết quả trả về khác nhau. Và cuối cùng là chọn field muốn trả về.

    Vì kết quả trả về là mảng nên dùng foreach để lấy tất cả dữ liệu trong đó.

    Trong trường hợp trên chỉ có thể lấy được dữ liệu duy nhất đó là field name.

    DBMemberDataContext db = new DBMemberDataContext(); // khởi tạo 
    var name = from table in db.members
               where table.idMember == 0
               select table;
    
    foreach(var a in name)
    {
        Console.WriteLine(a.Name);
        Console.WriteLine(a.Address);
    }
    

    Thay vì chỉ lấy được một field có thể lấy toàn bộ dữ liệu trong table thông qua điều kiện cho trước và sau đó truy xuất các field mong muốn.

    Insert

    DBMemberDataContext db = new DBMemberDataContext();
    member mem = new member();
    
    mem.idMember = 1;
    mem.Name = "stdio";
    mem.Age = 22;
    mem.Address = "456 xyz";
    db.members.InsertOnSubmit(mem);
    
    db.SubmitChanges();
    

    Đoạn code trên dùng để insert một dữ liệu vào database, trong trường hợp này xem nó như một đối tượng.

    Trước tiên tạo ra một đối tượng member và nhập dữ liệu vào các thuộc tính của nó.

    Tiếp theo sử dụng db.members.InsertOnSubmit(mem); để thêm đối tượng này vào nhưng đối tượng này hiện tại chỉ được thêm tạm thời vào DBMemberDataContext nhưng chưa được cập nhật vào databate của SQL Server.

    Vì vậy thêm dòng code db.SubmitChanges(); để đồng bộ tất cả các dữ liệu của project và SQL Server.

    Update

    DBMemberDataContext db = new DBMemberDataContext();
    var members = from table in db.members
                  where table.idMember == 0
                  select table;
    
    foreach (var mem in members)
    {
        mem.Address = "Tân Bình";
    }
    db.SubmitChanges();
    

    Đoạn code này sẽ truy vấn đến database để tìm những member nào có idMember bằng 0 và sau đó thay đổi giá trị trong field Address, cuối cùng là đồng bộ lại dữ liệu.

    Delete

    DBMemberDataContext db = new DBMemberDataContext();
    var members = from table in db.members
                  where table.idMember == 0
                  select table;
    
    foreach (var mem in members)
    {
        db.members.DeleteOnSubmit(mem);
    }
    db.SubmitChanges();
    

    Ví dụ này thực hiện việc delete một đối tượng có trong members. Cũng như updateinsert sau khi dòng code db.members.DeleteOnSubmit(mem); được thực thi thì mới chỉ xóa được trên đối tượng trên DBMemberDataContext.

    Vì vậy dùng db.SubmitChanges(); để cập nhật lại dữ liệu trên SQL Server.

    0 Bình luận
    Khi bạn nhấn vào sản phẩm do chúng tôi đề xuất và mua hàng, chúng tôi sẽ nhận được hoa hồng. Điều này hỗ trợ chúng tôi có thêm kinh phí tạo nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO

    Trang chính

    Công ty TNHH STDIO

    • 30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
      +84 28.36205514 - +84 942.111912
      developer@stdio.vn
    • 383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
      Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012
    ©STDIO, 2013 - 2021