Home > .NET, C# > Auto generate stored procedures by Codesmith

Auto generate stored procedures by Codesmith

Trong khi lập trình, bạn thường phải viết những đoạn code gần giống nhau (chỉ có những sự khác biệt rất nhỏ) và lặp đi lặp lại rất nhiều. Ví dụ như viết các stored procedure trên cơ sở dữ liệu, viết các trường (fields) và thuộc tính (properties) cho các lớp tương ứng với bảng trong cơ sở dữ liệu (thường gọi là business class)… và rất nhiều các công việc khác tương tự như vậy. Những công việc đó thường chiếm khá nhiều thời gian của lập trình viên (thường khoảng 50% thời gian), và gây ra sự chán nản vì sự lặp đi lặp lại. Không những thế, đối với các dự án gấp, chúng cũng phần nào là nguyên nhân gây ra sự chậm tiến độ.

Để giúp giảm bớt những công việc buồn tẻ đó, người ta đã phát triển ra các công cụ tự sinh mã cho lập trình viên – code generator tools. Những công cụ này sẽ tự tạo ra các đoạn mã thông dụng, mà người lập trình thường xuyên phải viết lặp đi lặp lại, dựa trên các dữ liệu đầu vào. Ví dụ, để công cụ này tạo ra các stored procedure cho 1 bảng dữ liệu MS SQL Server, bạn chỉ cần cho công cụ đó biết cách kết nối vào cơ sở dữ liệu chứa bảng đó và tên bảng. Công cụ sẽ thực hiện công việc của mình và đưa ra kết quả là những dòng mã t-sql chứa các storde procedure (read/insert/update/delete) để thao tác dữ liệu với bảng đó. Và công việc còn lại của bạn là dán những đoạn mã đó vào công cụ quản lý cơ sở dữ liệu (SQL Server Management Studio) để sinh ra các sp vào cơ sở dữ liệu.

Trong tài liệu này, tôi xin giới thiệu một trong số những công cụ sinh mã tốt nhất và được sử dụng phổ biến, đó là Codesmith được phát triển bởi Eric J.Smith. Công cụ này được bán với giá hơi chát: 299$ cho bản Professional Edition, 99$ cho Standard Edition. Công cụ này có rất nhiều các mẫu hữu ích để sinh các đoạn mã thông dụng. Bạn cũng có thể chỉnh sửa lại các mẫu này, hoặc tự tạo ra mẫu để sinh mã theo ý mình.

Tạo các stored procedure cho các bảng cơ sở dữ liệu

Trước hết, chúng ta nhìn qua giao diện sử dụng của chương trình CodeSmith Studio

Mở Codesmith studio trong thanh [Start Menu] trên [Taskbar] của windows

Giao diện của CodeSmith Studio được chia thành 3 khu vực.

Khu vực trên cùng là [Menubar] và [Toolbar].

Khu vực bên trái là cửa sổ làm việc chính của chương trình.

Khu vực bên phải gồm cửa sổ [Template Explorer] chứa các mẫu để sinh mã, và cửa sổ [Properties] thể hiện các thuộc tính của mỗi mẫu được chọn sử dụng.

Chúng ta sẽ sử dụng các mẫu sẵn có mà công cụ CodeSmith đã cung cấp để tạo ra các sp cho 1 bảng dữ liệu.

Trên cửa sổ [Template Explorer], trong mục [CodeSmith 5.1 Samples], mở file mẫu [Database]>[StoredProcedures]>[ StoredProcedures.cst]

Nội dung của file StoredProcedures.cst được thể hiện trên cửa sổ chính, và các tham số đầu vào được thể hiện trên cửa sổ [Properties]

Bạn sẽ nhận thấy các tham số đầu vào rất dễ hiểu, bạn có thể thay đổi tùy theo mong muốn của mình

Trên cửa sổ [Properties], chọn vào mục [SourceTable], ấn vào nút […] để chọn bảng dữ liệu bạn cần sử dụng.

Hộp thoại [Table Picker] xuất hiện, ấn nút [..] để chọn bảng dữ liệu

Hộp thoại [Data Source Manager] xuất hiện, ấn nút [Add] để thiết lập datasource

Hộp thoại [Data Source] xuất hiện

Trên hộp thoại này,

[Name]: tên data source, do bạn tùy đặt, ở đây tôi điền QLKho sql server

[Provider Type]: chứa danh sách các provider mà codesmith hỗ trợ. Với MS Sql server, bạn chọn SqlSchemaProvider

[Connection String]: thông số kết nối tới cơ sở dữ liệu. Bạn có thể gõ trực tiếp vào hoặc ấn vào nút […] để sử dụng công cụ tạo kết nối của codesmith.

Sau khi đã test kết nối thành công, ấn nút [OK], hộp thoại [Data Source] được đóng lại.

Ở hộp thoại [Data Source Manager] xuất hiện thêm datasource [QLKho sql server] mà ta vừa thiết lập. Ấn nút [Close] để đóng hộp thoại này lại.

Trên hộp thoại [Table Picker], ở mục [Data source], chọn vào dòng [QLKho sql server]

Danh sách các bảng trong cơ sở dữ liệu [QLKho sql server] được liệt kê trong mục [Tables].

Chọn một bảng dữ liệu bạn muốn, và ấn nút [Select]

Hộp thoại [Table Picker] được đóng lại, và tên bảng vừa được chọn được điền vào mục [SourceTable] trên cửa sổ [Properties]

Trên cửa sổ [Properties], bạn hãy thay đổi các tham số ở mục [Option] và mục [Procedure] nếu muốn.

Cuối cùng, trên cửa sổ chính của codesmith studio, ấn nút [Run] trên thanh [Toolbar] để thực hiện việc sinh mã.

Kết quả của việc sinh mã được thể hiện trên cửa sổ chính như hình dưới

Lúc này, bạn có thể copy toàn bộ nội dung đó và paste vào MS SQL Server Management Studio để thực hiện việc tạo các stored procedures trên cơ sở dữ liệu.

 

Categories: .NET, C# Tags:
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: