Thêm vào việc dùng các biểu thức SQL tùy biến để truy vấn, bạn cũng có thể dùng chúng để thực hiện các thao tác như thêm/xóa/sửa.
Chúng ta có thể làm được điều này bằng cách tạo ra các phương thức partial trong lớp DataContext tương ứng các thao tác Insert/Update/Delete cho thực thể mà chúng ta muốn thay đổi. Và chúng ta
LINQ to SQL Tutorial sau đó có thể dùng phương thức ExecuteCommand để thực thi các câu SQL cần thiết. Ví dụ, để thay thế hành vi Delete mặc nhiên cho lớp Product, bạn có thể định nghĩa một phương thức partial DeleteProduct như sau:
Và bây giờ, nếu bạn viết đọa code dưới đây để xóa một Product nào đó khỏi CSDL, LINQ to SQL sẽ gọi phương thức DeleteProduct – và khi đó các câu SQL tùy biến sẽ được thực thi thay thế cho câu SQL được sinh ra tự động bởi LINQ to SQL:
6. Tổng kết
Trình quản lý LINQ to SQL tự động tạo ra và thực thi các câu SQL động để thực hiện các câu truy vấn, cập nhật, thêm và xóa dữ liệu trong CSDL.
Đối với một số trường hợp, khi bạn muốn kiểm soát hoàn toàn câu lệnh SQL được thực thi, bạn có thể dùng các thủ tục SPROC, hay cũng có thể viết các câu SQL của riêng bạn. Điều này cung cấp khả năng tùy biến mạnh m
Bài 9: Dùng biểu thức LINQ tùy biến với <asp:LinqDatasource>
Trong phần 5 của loạt bài này tôi đã giới thiệu control <asp:LinqDataSource> mới trong .NET 3.5 và nói về cách dùng nó để gắn nối các control ASP.NET dễ dàng vào các mô hình dữ liệu LINQ to SQL. Tôi cũng đã trình bày một chút về cách dùng chúng trong một bài viết sau đó khi nói về control <asp:ListView>.
Trong cả hai bài viết trên, các câu truy vấn được thực hiện đều tương đối dễ hiểu (mệnh đề Where làm việc chỉ với một bảng dữ liệu). Trong bài viết hôm nay tôi sẽ biểu diễn cách tận dụng khả năng xây dựng các câu truy vấn nhanh chóng với LINQ dùng LinqDataSource, và cách bạn có thể dùng bất kỳ biểu thức LINQ nào để thực hiện truy vấn với nó.