2 Phương pháp nghiên cứu và xây dựng Về mặt lý thuyết Tìm hiểu về ASP.NET MVC, mô hình MVCTìm hiểu về cách thức hoạt động của client – ServerTìm hiểu về cách thức lưu dữ liệu và sử dụng
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN MÔN HỌCLẬP TRÌNH WEB
TÊN ĐỀ TÀI THIẾT KẾ VÀ XÂY DỰNG WEBSITE BÁN HÀNG ONLINE
Giảng viên giảng dạy:
Sinh viên thực hiện :
Chuyên ngành : Kỹ thuật phần mềm
Tp.HCM, tháng 12/2021
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN MÔN HỌCLẬP TRÌNH WEB
TÊN ĐỀ TÀI THIẾT KẾ VÀ XÂY DỰNG WEBSITE BÁN HÀNG ONLINE
Giảng viên giảng dạy:
Sinh viên thực hiện :
Chuyên ngành : Kỹ thuật phần mềm
Tp.HCM, tháng 12/2021
Trang 3TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Tên đề tài: THIẾT KẾ VÀ XÂY DỰNG WEBSITE BÁN HÀNG ONLINE
Giảng viên giảng dạy: ThS Vương Xuân Chí
Thời gian thực hiện: 15/10/2021 đến 30/12/2021
Tp.HCM, ngày 30 tháng 12 năm 2021
Trang 4LỜI CẢM ƠN
Đầu tiên, em xin gửi lời cảm ơn chân thành đến Trường Đại học Nguyễn Tất Thành đã đưa môn lập trình Website vào trương trình giảng dạy Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc đến giảng viên bộ môn – Thầy Vương Xuân Chí đã dạy dỗ, truyền đạt những kiến thức quý báu cho chúng em trong suốt thời gian học tập vừa qua Bộ môn lập trình Website là môn học thú vị, vô cùng bổ ích và có tính thực tế cao Đảm bảo cung cấp đủ kiến thức, gắn liền với nhu cầu thực tiễn của sinh viên Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp thu thực tế còn nhiều bỡ ngỡ Mặc dù chúng em đã cố gắng hết sức nhưng chắc chắn bài tiểu luận khó có thể tránh khỏi những thiếu sót và nhiều chỗ còn chưa chính xác, kính mong các thầy xem xét và góp ý để bài tiểu luận của chúng em được hoàn thiện hơn.
Em xin chân thành cảm ơn!”
Trang 5LỜI MỞ ĐẦU
Công nghệ thông tin trong giai đoạn hiện nay đang có những bước pháttriển như vũ bão trên mọi lĩnh vực hoạt động ở khắp nơi trên toàn thế giới, điềunày cũng xảy ra ở Việt Nam trong vòng vài năm vừa qua là sự đầu tư ồ ạt vàocông nghệ Tin học đã và đang là một trong những vấn đề không thể thiếu đốivới bất kỳ một cá nhân, tổ chức, công ty nào Cùng với sư phát triển của côngnghệ thông tin, mạng máy tính đang được phát triển rộng rãi đã có những đónggóp to lớn cho sự nghiệp phát triển của con người Trong các lĩnh vực đó thìlĩnh vực buôn bán hàng hóa được xem là phổ biến nhất, việc bán hàng trựctuyến trên mạng internet đang phát triển rất mạnh mẽ dần thay thế cho phươngthức buôn bán truyền thống với sự tiện ích nhanh chóng không tốn nhiều thờigian của nó
Nhận thấy được tầm quan trọng đó nhóm em đã vận dụng những kiếnthức đã được học trong môn lập trình web để bắt tay vào thiết kế và xây dựngmột website bán hàng trực tuyến cụ thể là một trang web bán quần áo thời trangtrực tuyến Trang web được xây dựng bằng công nghệ ASP.NET MVC sử dụngcông cụ Visual Studio
Trang 6NHẬN XÉT CỦA GIẢNG VIÊN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Điểm đồ án: TPHCM, Ngày …… tháng …… năm
Giáo viên hướng dẫn
(Ký tên, đóng dấu)
Trang 7Hình 7: Trang chi tiết sản phẩm (Single.aspx)
Hình 8: Trang giỏ hàng (Check_Out.aspx)
Hình 9 : Trang bài viết (Blog.aspx)
Hình 10: Trang chi tiết bài viết (Blog_Single.aspx)
Hình 11: Trang đăng nhập tài khoản (Login.aspx)
Hình 12: Trang tạo tài khoản (Register.aspx)
Hình 13: Trang liên hệ (Contact.aspx)
Hình 14: Trang điều khoản và bảo mật (PrivacyNotice.aspx)
Hình 15: Đoạn code trong code behind (Products.aspx trong ThuVien.cs) Hình 16: Lưu đồ của quá trình đăng nhập vào hệ thống
Hình 17: Đăng nhập
Hình 18 : Trang cá nhân
Hình 19: Tài khoản bị cấm
Hình 20: Trang đăng bài viết (TaoBaiViet.aspx)
Hình 21: Trang bài viết hoạt động (BaiVietHoatDong.aspx)
Hình 22: Trang bài viết tạm ngưng (BaiVietTamNgung.aspx)
Trang 8Hình 23: Trang đăng sản phẩm(DangSanPham.aspx)
Hình 24: Trang sản phẩm kinh doanh(SanPhamKinhDoanh.aspx) Hình 25: Trang sản phẩm tạm ngưng(SanPhamTamNgung.aspx) Hình 26: Trang tạo đơn hàng(TaoDonHang.aspx)
Hình 27: Tạo mới ADO.NET Entity Data Model
Hình 28: Connect với Database QLBH
Hình 29: Kết nối thành công
Trang 9Mục Lục
LỜI CẢM ƠN 3
LỜI MỞ ĐẦU 4
CHƯƠG I: GIỚI THIỆU ĐỀ TÀI 6
1 Lý do chọn đề tài 7
2 Phương pháp nghiên cứu và xây dựng 7
CHƯƠNG II: CƠ SỞ LÝ THUYẾT 7
1 ASP.NET MVC 8
2 Mô hình MVC 9
2.1 View 10
2.2 Model 10
2.3 Controller 10
2.4 Razor 11
2.5 ViewBag, ViewData 11
3 Layout for View in ASP.NET MVC 12
3.1 HTML Helper class 12
3.2 Standard and Strongly Typed HTML Helpers 12
3.3 Templated HTML Helpers and Model 15
3.4 Layout for View 15
3.5 NuGet Packages 17
3.6 Bundling and Minification 17
4 Entity framework 19
Cách tạo mô hình Database First 21
5 LinQ 22
CHƯƠNG III: XÂY DỰNG WEBSITE 25
1 Demo chương trình 25
2 Cách kết nối Database 41
CHƯƠNG VI: KẾT QUẢ ĐẠT ĐƯỢC 45
Trang 10CHƯƠG I: GIỚI THIỆU ĐỀ TÀI
1 Lý do chọn đề tài
Như chúng ta cũng thấy trong thị trường hiện nay thì việc cạnh tranh vềkinh doanh ngày càng trể nên quyết liệt và hầu hết những nhà kinh doanh,những công ty lớn đều tất chú tâm đến việc làm thỏa mãn khách hang một cáchtốt nhất
So với kinh doanh bán hang truyền thống thì công nghệ thương mại điện
tử sử dụng công nghệ tiên tiến hơn đang cho thấy được sự tiện lợi, nhanh chóng,tiêu tốn ít chi phí hơn và đạt hiệu quả cao hơn Hơn thế nữa việc áp dụng côngnghệ thông tin giúp truyền tải thông tin quảng bá sản phẩm và nâng cao danhtiếng của doanh nghiệp một cách nhanh chóng thuận tiện hơn Kết hợp với bộphận giao hang tận nơi thông qua bưu điện và ngân hàng càng giúp cho mô hìnhnày càng them phát triển
Nhận thấy được nhu cầu mua hàng ngày càng cao và sự phát triển củacông nghệ thông tin chúng e đã bắt tay vào xây dựng một website bán quần áothời trang nhằm phục vụ chon chu cầu mua sắm của khách hàng
2 Phương pháp nghiên cứu và xây dựng
Về mặt lý thuyết
Tìm hiểu về ASP.NET MVC, mô hình MVCTìm hiểu về cách thức hoạt động của client – ServerTìm hiểu về cách thức lưu dữ liệu và sử dụng dữ liệu trong SQLServer
Về mặt lập trình
Sử dụng Framework ASP.NET MVC để xây dựng website theo
mô hình MVC
Về măt hoạt động
Trang 11Website cho phép khách hàng đăng nhập truy cập trang web, chọn món đồ mình muốn và thanh toán mua hàng.
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
Trong ASP.NET MVC, nhiều cải tiến về ASP.NET đã được đưa vàoFramework
Mục đích chính của mô hình này là cô lập xử lý nghiệp vụ từ giao diệnngười dùng để tập trung vào khả năng bảo trì, cải tiến, kiểm thử tốt hơn và làmcho ứng dụng có cấu trúc gọn hơn
MVC Framework được định nghĩa trong Namespace
System.Web.MVC Ưu điểm
Nhẹ vì không sử dụng view state hoặc server-based forms hoặc servercontrols
Mỗi nhà phát triển dựa trên chuyên môn hoặc kinh nghiệm của mình cóthể làm việc trên các phần khác nhau của ứng dụng
HTML tích hợp dễ dàng với javascript và jQuery
Cung cấp hỗ trợ tốt hơn cho phát triển theo hướng thử nghiệm ta có thểtập trung vào một khía cạnh tại một thời điểm => ta có thể tập trung vào chế độView mà không cần lo lắng về logic nghiệp vụ
ASP.NET MVC Framework chia ứng dụng thành ba khía cạnh chính nhưModel, View và Controller giúp quản lý độ phức tạp của ứng dụng dễ dàng hơn
Trang 12ASP.NET MVC Framework là các thành phần của nó được thiết kế để cóthể mở rộng và cắm được và do đó chúng có thể dễ dàng thay thế hoặc tùychỉnh.
MVC Framework được xây dựng dựa trên ASP.NET Framework và do
đó chúng ta có thể sử dụng hầu hết các tính năng của ASP.NET như kịch bảnxác thực và ủy quyền, thành viên và vai trò, bộ nhớ đệm, phiên và nhiều tínhnăng khác
ASP.NET MVC Framework hỗ trợ cơ chế định tuyến URL mạnh mẽ (tức
là định tuyến thuộc tính) giúp xây dựng các URL thân thiện với người dùng vàthân thiện với SEO hơn
2 Mô hình MVC
Hình 1: Sơ đồ MVCMVC là viết tắt của cụm từ “Model-View-Controller“ MVC là một mẫukiến trúc phần mềm để tạo lập giao diện người dùng trên máy tính MVC chiathành ba phần được kết nối với nhau Chúng bao gồm Model (dữ liệu), View(giao diện) và Controller (bộ điều khiển)
Đơn giản hơn, là mô hình này được chia thành 3 phần trong soure code
Và mỗi phần đảm nhận vai trò và nhiệm vụ riêng biệt nhau và độc lập
Trang 13Mô hình MVC (MVC pattern) thường được dùng để phát triển giao diệnngười dùng Nó cung cấp các thành phần cơ bản để thiết kế một chương trìnhcho máy tính hoặc điện thoại di động, cũng như là các ứng dụng web.
Ưu điểm
Chuyên nghiệp hóa, có thể chia công việc cho nhiều nhóm (Thiết
kế, Lập trình, tổ chức dữ liệu)Nhanh, đơn giản, dễ dàng nâng cấp
Bảo trì: dễ dàng được thay đổi nhưng có thể được cô lập từng lớp
Mở rộng: việc thêm chức năng vào từng lớp sẽ dễ dàng hơn
2.1 View
Đây là phần giao diện (theme) dành cho người sử dụng Nơi mà ngườidùng có thể lấy được thông tin dữ liệu của MVC thông qua các thao tác truy vấnnhư tìm kiếm hoặc sử dụng thông qua các website
Thông thường, các ứng dụng web sử dụng MVC View như một phần của
hệ thống, nơi các thành phần HTML được tạo ra Bên cạnh đó, View cũng cóchức năng ghi nhận hoạt động của người dùng để tương tác với Controller Tuynhiên, View không có mối quan hệ trực tiếp với Controller, cũng không đượclấy dữ liệu từ Controller mà chỉ hiển thị yêu cầu chuyển cho Controller mà thôi
2.2 Model
Là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng Bộ phậnnày là một cầu nối giữa 2 thành phần bên dưới là View và Controller Model thểhiện dưới hình thức là một cơ sở dữ liệu hoặc có khi chỉ đơn giản là một file
Trang 14XML bình thường Model thể hiện rõ các thao tác với cơ sở dữ liệu như chophép xem, truy xuất, xử lý dữ liệu,…
2.3 Controller
Bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thông quaview Từ đó, C đưa ra dữ liệu phù hợp với người dùng Bên cạnh đó, Controllercòn có chức năng kết nối với model
Luồng tương tác giữa các thành phần trong MVC
Ví dụ: Chức năng thêm bài viết mới trong trang quản trị website Nơi đây có 2trường nhập về tiêu đề và nội dung bài viết, thì trong đó:
View sẽ hiển thị ra phần nhập form tiêu đề và nội dung
Controller lấy dữ liệu từ 2 trường và gửi tới Model
Model lúc này sẽ nhận dữ liệu từ Controller để lưu trữ trong cơ sở dữ liệu
2.4 Razor
Razor là một cú pháp đánh dấu cho phép bạn nhúng mã dựa trên máy chủ(Visual Basic và C #) vào các trang web Razor có thể tạo nội dung web độngmột cách nhanh chóng, trong khi một trang web được ghi vào trình duyệt Razordựa trên ASP.NET và được thiết kế để tạo web các ứng dụng
2.5 ViewBag, ViewData
ViewBag, ViewData: có thể truyền dữ liệu mô hình từ Controller sangView theo nhiều cách như bằng cách sử dụng ViewBag, ViewData, TempData.Ngoài ra có thể sử dụng Session and Application State khi sử dụng trong WebForms để quản lý dữ liệu trong phiên người dùng hoặc trong toàn bộ ứng dụng
ViewData: là cơ chế để chuyển dữ liệu từ Controller đến View Khi gọiphương thức View trong Controller action, ViewData sẽ tự động gán vào View.Trong View có thể truy cập giá trị được lưu trong ViewData
Trang 15ViewData: được giải quyết động trong thời gian chạy, do đó, nó khôngcung cấp tính năng kiểm tra lỗi thời gian biên dịch cũng như chúng tôi khôngnhận được sự hỗ trợ thông minh ViewData trong ASP.NET MVC chỉ có thểchuyển dữ liệu từ Controller action sang View.
ViewBag: là một trong những cơ chế để truyền dữ liệu từ Controller sangView và sử dụng kiểu động đã có trong phiên bản C# 4.0 Nó là một vỏ bọc củaViewData và cung cấp thuộc tính động cho ViewData
Điểm giống và khác giữa ViewData và ViewBag:có thể sử dụng cảViewData và ViewBag để chuyển dữ liệu từ Controller sang View ViewData làmột đối tượng từ điển trong khi ViewBag là một thuộc tính động TrongViewData, sử dụng chuỗi làm khóa để lưu trữ và truy xuất dữ liệu trong khitrong ViewBag sử dụng các thuộc tính động để lưu trữ và truy xuất dữ liệu.ViewData yêu cầu đánh máy cho kiểu dữ liệu phức tạp và cũng kiểm tra các giátrị rỗng để tránh bất kỳ ngoại lệ nào trong khi ViewBag không yêu cầu bất kỳthao tác đánh máy nào cho kiểu dữ liệu phức tạp
3 Layout for View in ASP.NET MVC
3.1 HTML Helper class
HtmlHelper class: Cung cấp hỗ trợ để hiển thị các điều khiển biểu mẫuHTML và thực hiện xác thực biểu mẫu trong một trang web Sử dụng lớp Trìnhtrợ giúp HTML, có thể tạo Điều khiển HTML theo chương trình Trình trợ giúpHTML được sử dụng trong View để hiển thị nội dung HTML HTML Helpers(hầu hết) là một phương thức trả về một chuỗi Không bắt buộc phải sử dụngcác lớp Trình trợ giúp HTML để xây dựng ứng dụng ASP.NET MVC và ta cóthể xây dựng ứng dụng ASP.NET MVC , nhưng HTML Helpers sẽ giúp pháttriển nhanh một khung nhìn HTML Helpers nhẹ hơn so với các điều khiểnASP.NET Web Form vì chúng không sử dụng ViewState và không có mô hình
sự kiện
Trang 16HtmlHelper được chia làm ba loại: Inline HTML Helpers, CustomHTML Helpers, Built-in HTML Helpers.
Built-in HtmlHelper cũng được chia làm ba loại: Standard HTMLHelpers, Strongly Typed HTML Helpers, Templated HTML Helpers
3.2 Standard and Strongly Typed HTML Helpers
Hình 2: HTML HelpersStandard HTML Helpers: được sử dụng để hiển thị loại điều khiểnHTML Các phương thức mở rộng của HTML Helpers có thể sử dụng bất kỳ cáinào theo yêu cầu
HTML Helpers: Begin Form - End Form
Để tạo một biểu mẫu HTML, chúng ta có thể sử dụng BeginForm () và Các phương thức mở rộng EndForm () của Html Helper
Trang 17Html.BeginForm trả về một đối tượng IDisposable, cho phép bọc nó trong câu lệnh using C # Khi việc sử dụng thoát ra trong lệnh, việc xử lý
sẽ tự động gọi Html.EndForm ()
Model class: Enum là một kiểu dữ liệu chứa một tập hợp các các giá trị được xác định bởi người lập trình
HTML Helpers: Label bao gồm hai phương thức mở rộng
Phương thức Html.Label () tạo ra một phần tử <label> cho một thuộc tính
cụ thể của đối tượng mô hình
Phương thức LabelFor helper là một phương thức mở rộng được đánh máy mạnh Nó tạo html label cho thuộc tính đối tượng mô hình được chỉ định bằng cách sử dụng biểu thức lambda
HTML Helpers: TextBox bao gồm hai phương thức mở rộng
Phương thức Html.TextBox () tạo ra phần tử <input type = "text"> với các thuộc tính tên, giá trị và html được chỉ định
Phương thức trình trợ giúp TextBoxFor là một phương thức mở rộng được đánh máy mạnh Nó tạo ra một phần tử đầu vào văn bản cho thuộc tính mô hình được chỉ định bằng cách sử dụng biểu thức lambda Phương thức TextBoxFor liên kết thuộc tính đối tượng mô hình cụ thể với văn bản đầu vào Vì vậy, nó tự động hiển thị giá trị của thuộc tính mô hình trong hộp văn bản và ngược lại
HTML Helpers: DropDownList bao gồm hai phương thức mở rộng
Phương thức DropDownList () tạo ra một phần tử được chọn với tên cụ thể, các mục danh sách và các thuộc tính html
Phương thức trợ giúp DropDownListFor là một phương thức mở rộngđược đánh máy mạnh Nó tạo phần tử <select> cho thuộc tính được chỉ
định bằng cách sử dụng biểu thức lambda Phương thứcDropDownListFor liên kết một đối tượng mô hình được chỉ định thuộc
Trang 18tính kiểm soát danh sách thả xuống Vì vậy, nó tự động liệt kê các mục trong DropDownList dựa trên giá trị thuộc tính HTML Helpers: HiddenHTML Helpers: Editor
3.3 Templated HTML Helpers and Model
Strongly Typed HTML Helper: Strong Typed Helper yêu cầu các biểu thức lambda Để sử dụng Strongly Typed Helper, trước tiên phải tạo Strongly Typed View
Templated HTML Helper: Khung ASP.NET MVC đi kèm với templated helpers được tạo mẫu có thể được sử dụng để kiểm soát dữ liệu sẽ hiển thị cho người dùng cuối để hiển thị hoặc mục đích chỉnh sửa cho dữ liệu
mô hình
3.4 Layout for View
Một ứng dụng có thể chứa các phần chung trong giao diện người dùngvẫn giữ nguyên trong toàn bộ ứng dụng, chẳng hạn như:logo,tiêu đề,thanh điềuhướng bên trái(bên phải),phần footer
Trang 19ASP.NET MVC đã giới thiệu dạng xem Bố cục chứa các phần giao diệnngười dùng chung này, để chúng ta không phải viết cùng một đoạn mã trongmọi trang Dạng xem bố cục giống như trang chính của ứng dụng biểu mẫu webASP.NET.
Layout View: cho phép xác định một mẫu trang web chung, mẫu này cóthể được kế thừa trong nhiều View để cung cấp giao diện nhất quán trong nhiềutrang của một ứng dụng
Layout View giúp loại bỏ mã hóa trùng lặp và tăng cường tốc độ phát triển và
dễ dàng bảo trì Layout View cho giao diện người dùng mẫu ở trên sẽ chứa cácphần Đầu trang, Menu bên trái, thanh bên phải và chân trang Nó chứa một trìnhgiữ chỗ cho phần trung tâm thay đổi động như được hiển thị bên dưới The
razor layout view có phần mở rộng giống như các dạng xem khác:
.cshtml hoặc.vbhtml Layout views được chia sẻ với nhiều dạng xem, vì vậy
nó phải được lưu trữ trong Shared folder
The layout view chứa html Doctype, head và body như html bình thường,
điểm khác biệt duy nhất là gọi phương thức RenderBody() và
RenderSection() RenderBody hoạt động như một trình giữ chỗ cho các chế độ
xem khác
ViewStart.cshtml: được bao gồm trong Views folder Nó thiết lập trang
bố trí mặc định cho tất cả các dạng Views trong thư mục và các thư mục concủa nó bằng cách sử dụng thuộc tính Bố cục, có thể chỉ định một đường dẫn hợp
lệ của bất kỳ trang Bố cục nào cho thuộc tính Bố cục
Rendering methods: được chia làm hai loại
Renderbody():Dạng xem bố trí phải bao gồm phương thức RenderBody()
RenderSection(string name, bool required):Hiển thị nội dung của phầnđược đặt tên và chỉ định xem phần đó có được yêu cầu hay không.RenderSection () là tùy chọn trong dạng xem Bố trí
Rendering the layout
Trang 20Layout.cshtml bao gồm phương thức RenderBody () và Phương thức RenderSection () Phương thức RenderSection chỉ định tên của một phần như LeftSection, MiddleSection và RightSection.
Index.cshtml xác định phần được đặt tên bằng cách sử dụng @section trong đó tên của mỗi phần khớp với tên được chỉ định trong phương thức RenderSection của _Layout.cshtml
Các phần được đặt tên của Index.cshtml chẳng hạn như LeftSection, RightSection và MiddleSection sẽ được hiển thị tại vị trí thích hợp nơi phương thức RenderSection được gọi Phần còn lại của Index View, không nằm trong bất kỳ phần nào được đặt tên sẽ hiển thị nơi phương thức RenderBody () đang được gọi
3.5 NuGet Packages
Một công cụ thiết yếu cho bất kỳ nền tảng phát triển hiện đại nào là một
cơ chế mà qua đó các nhà phát triển có thể tạo, chia sẻ và sử dụng mã hữu ích
Đối với NET (bao gồm NET Core), cơ chế chia sẻ mã được Microsoft
hỗ trợ là NuGet, xác định cách các gói cho NET được tạo, lưu trữ và sửdụng, đồng thời cung cấp các công cụ cho từng vai trò đó
NuGet cho phép bạn lưu trữ các gói một cách riêng tư trên đám mây (chẳng hạn như trên Azure DevOps), trên một mạng riêng hoặc thậm chí chỉ trên hệ thống tệp cục bộ Bằng cách đó, các gói đó chỉ có sẵn cho những nhà phát triển có quyền truy cập vào máy chủ, cho phép bạn cung cấp các gói
hàng cho một nhóm người tiêu dùng cụ thể
Trang 213.6 Bundling and Minification
Bundling and Minification techniques: giới thiệu trong MVC 4 đểcải thiện thời gian tải yêu cầu Bundling cho phép tải nhiều tệp tĩnh từ máychủ trong một yêu cầu HTTP
Kỹ thuật gói trong ASP.NET MVC cho phép tải nhiều hơn một tệp
JavaScript, jquery.js và bootstrap.min.js trong một yêu cầu, như được hiển thị bên dưới
Kỹ thuật Minification tối ưu hóa kích thước tệp Script hoặc CSS bằng cách xóa khoảng trắng không cần thiết và nhận xét và biến rút gọn tên cho một
ScriptBundle: ScriptBundle chịu trách nhiệm về JavaScript thu nhỏ
của một hoặc nhiều tệp kịch bản
StyleBundle: StyleBundle chịu trách nhiệm rút gọn CSS của một hoặcnhiều tệp bảng định kiểu
DynamicFolderBundle: Đại diện cho một đối tượng Bundle ASP.NET tạo
từ một thư mục chứa các tệp cùng loại
BundleConfig class and RegisterBundles
Trang 224 Entity framework
Trang 23Hình 3: Overview of Entity FrameworkEntity Framework là một khung ORM( Object Relational Mapper) mãnguồn mở cho các ứng dụng NET được Microsoft hỗ trợ, là 1 phần của NETFramework, một Open source ORM Framework.
Entity Framework ra đời nhằm hỗ trợ sự tương tác giữa các ứng dụng trênnền tảng NET với các cơ sở dữ liệu quan hệ
Entity Frmework chính là công cụ giúp ánh xạ giữa các đối tượng trongứng dựng, phần mềm với các bảng của một Database quan hệ
Entity Framework có lớp ánh xạ chi tiết để có thể tùy chỉnh ánh xạ Trong
đó thì ORM chính là một tập hợp công nghệ có thể làm việc với
các hệ quản trị cơ sở dữ liệu quan hệ từ những ngôn ngữ hướng đối tượng và không phải trực tiếp để xử lý truy vấn SQL
Trang 24Các ORM sẽ hỗ trợ lập trình hai chiều: cấu trúc bảng với class, bảngghi với object trong bảng, các thuộc tính với cột của bảng Đối với quátrình này thì mỗi truy vấn của SQL sẽ được ORM tự động sinh ra và thực hiện.Điều này sẽ rất có lợi cho người lập trình bởi họ chỉ cần học và làm quen vớicác thuật ngữ, khái niệm của ngôn ngữ lập trình hướng đối tượng là được.
Đặc điểm của Entity Framework
Thứ nhất là tất cả cơ sở dữ liệu đều được thể hiện bằng một lớp con củaDBContext Mỗi bảng dữ liệu sẽ được thể hiện bằng một object của Dbset Mỗihàng trong bảng đó sẽ thể hiện một object của lớp thực tế mà bạn đã xây dựng.Còn mỗi cột sẽ được thể hiện bằng thuộc tính của object Đối với những thaotác này thì hoàn toàn được thực hiện một cách tự động, hoặc là cũng có thể canthiệp vào chúng theo ý của mình
Thứ hai chính là bạn có thể sử dụng để truy vấn dữ liệu sử dụng LINQ
mà không phải sử dụng SQL Người dùng có thể đơn giản hơn khi thực hiện cáctruy vấn CRUD từ code C# với các class mà không cần phải viết bất kỳ mộtdòng SQL nào
Trang 25Thứ ba chính là có thể thực hiện thao tác với các cấu trúc dữ liệu như:Tạo ra cơ sở dữ liệu, đổi cấu trúc bảng, tạo bảng,… một cách đơn giản và nhanhchóng với công cụ Migration mà cũng sẽ không mất dữ liệu.
Cách tạo mô hình Database First
Chọn Dữ liệu từ menu bên trái, sau đó chọn “Mô hình Dữ liệu Thực thể ADO.NET”
Đặt tên cho mô hình Thực thể của bạn tại hộp văn bản “Tên”
Chọn EF Designer từ biểu tượng cơ sở dữ liệu trong bảng điều khiển.Chọn kết nối với cơ sở dữ liệu bạn muốn tạo
Chọn Máy chủ cơ sở dữ liệu mà bạn muốn kết nối
Chọn loại cho máy chủ cơ sở dữ liệu đăng nhập tại “Use SQL Server Authentication”
Chọn cách sử dụng cơ sở dữ liệu cho ứng dụng của bạn
Kiểm tra kết nối để đảm bảo nó thành công trước khi tạo khung thực thểNhấp vào nút “OK” để hoàn tất kết nối đã tạo
OnlineTrade Entities làm tên của chuỗi kết nối và nhấp vào Tiếp theo