Các bước để tạo 1 project linq2db

Project cho database bằng linq2db là gì?

Trước khi có loại project này thì xử lý nghiệp vụ cho HIS được viết một phần trong SQL Server dưới dạng stored procedure (ws_…). Một màn hình phải vất vả lắm mới biết được đang sử dụng bao nhiêu sp. Việc triển khai cũng khó khăn về việc thiếu hay dư bảng/sp. Việc không được generic các sp dẫn đến sp khó tái sử dụng, biểu hiện trong việc có nhiều @ActionType. Do đó công ty đã phát triển thư viện tương thích ngược cho phép viết sp trên C# trên nền linq2db. Nhân viên mới sẽ được train kiểu mới nhiều hơn. Bài viết này nói về kiểu mới đó.

(*) ‘doc’ là các form có thiết kế giống pdf & có thể xuất pdf.

Cách tạo

Sử dụng Visual Studio tạo 1 project kiểu class library .NET 4.5 trong directory ‘Database’. Thêm project QADatabaseShared vào References.

Sau đó viết các sp cho project này. Cấu trúc xem bên dưới.

Cách mà client gọi các ‘sp’ này thì tham khảo https://help.qasol.net/knowledge-base/development/getting-started/cach-debug-project-database-linq-linq2db/.

Ví dụ 1 ‘sp’ xoá đơn giản.

Cách tạo thực tế

Cách nhanh nhất là copy từ project có sẵn trong folder Database, sau đó xoá mấy cái không thuộc về project mới như DataModels hay sp (ws_…). Hoặc có thể giữ lại để tham khảo.

Thực ra cũng chỉ là 1 project kiểu class library bình thường nhưng có thêm thư viện của QA Solution.

Quan trong nhất khi tạo project linq db và đặt tên project là tên project phải kết thúc bằng ký tự ‘DB’

Copy đi bạn.
Bắt buộc phải gắn QADatabaseShared nhưng không được chỉnh QADatabaseShared.

Tạo data model

Giả sử dưới database có bảng CN_HoSoBenhAn, bạn muốn lấy nó lên project C# để gọi, thì sử dụng tool RADHelper.exe để gen ra class đó.

Nhập login & pass, kết nối, chọn database & table cần gen, check check all phần Data Fields, chọn Templates cần gen, sau đó nhấn nút Generate. File sẽ được sinh trong đường dẫn phần Output Folder.

Sau đó chuột phải DataModels thêm file vừa gen vào project như 1 class bình thường. Không có cơ chế phức tạp nào trong này.

Bạn đã có thể gọi bảng này trong sp của mình. Cấu trúc tương đương bảng dưới database, nhưng mapper có thể map nhầm 1 số kiểu dữ liệu.

Tạo stored procedure (sp)

Đây là cấu trúc 1 sp, kế thừa StoredProcedure, có các param dưới dạng property với attribute đánh dấu. Sp có function Run() là entry cho sp. Thêm Output bảng nào đó nếu sp cần trả kết quả. Xem phần debug để biết sp được gọi như thế nào.

Khi đặt tên file .cs (tên SP) phải theo quy tắc có tiền tố là ‘ws_’, kết thúc tên SP là <action_name>, ví dụ như _Get ; _List; _Save; _Delete; _ListBy…

Lưu ý

Tất cả các project linq2db phải được đặt trong folder trên SVN có tên là ‘Database’

Sau khi kiểm thử các logic cơ bản thì publish .dll lên 2 table Application..FileSystem_EntityApplication..FileSystem_EntityContent BẰNG Tool QAPlatform.FileExplore.exe

Cách gọi SP linq trên C#(Screen)

Cách gọi Stored từ screen khi sử dụng SP linq2db

Đây là cách gọi SP SQL thông thường trên C#(Screen)

Cách gọi Stored Procedure khi sử dụng SQL Stored Procedure