Thứ Bảy, 1 tháng 12, 2018

CODE FIRST ASP.NET MVC

Xin chào, tôi tên là Trịnh Thị Thảo sinh viên trường FPT APTECH


                                                     CODE FIRST IN ASP.NET MVC

I, Biết +Hiểu: 

         + khái niệm: Code first là phương pháp tạo các class Model sau đó phát sinh ra database. Đây là cách thức phát triển ứng dụng nhanh khi chưa có database. Bằng cách sử dụng code first bạn cũng có thể tạo dữ liệu ban đầu cho database của mình.

        +  Đối với mô hình code first, bạn sẽ tạo các entity trong code C# sau đó khi chạy ứng dụng thì database sẽ được tạo ra, dựa vào những khai báo và định nghĩa của bạn trong các class entity.


II, phân tích và áp dụng:

+ tạo project Asp.net mvc :


 + chọn authenticition + ok :




+ thiết lập kiểu trang:

      -mở Views\Shared\_Layout.cshtml  và thay đỏi các đoạn code :




      -Trong Views \ Home \ Index.cshtml, thay thế nội dung của tệp bằng đoạn mã sau để thay thế văn bản về ASP.NET và MVC bằng văn bản về ứng dụng này:

           


        -Nhấn Ctrl + F5 để chạy trang web. Bạn thấy trang chủ với menu chính.

     + tạo data model :
        - tạo class trong Model với các trường sau:


*class: Student:


*class:Enrollment:
  

*class: Course:



     + tạo thư mục mới có tên là context và thêm code như sau
 +tạo một mục mới có và thêm code như sau:





+ tạo controller và view :




+ thêm code : private SchoolContext db = new SchoolContext(); vào hàm .

+ trong index thêm như sau :

public ViewResult Index() { return View(db.Students.ToList()); }

+ chuột phải hàm index + add view :

+ chạy thử ứng dụng của bạn :


III, Tổng quát:


các câu lệnh update databse khi có thay đổi.
  • Enable-migration
  • Add-migration tên migration
  • update-database
IV,đánh giá:

Ưu điểm:
  • Quản lý được version của database
  • Chỉ định rõ các mối quan hệ giữa các thực thể, cái gì cần khi eager loaded, cái gì cần serialized, cái gì không
  • Rất phù hợp cho các ứng dụng nhỏ
  • Thuận tiện khi làm việc theo nhóm, mỗi cá nhân có thể chạy 1 database độc lập trên máy tính của mình, ko cần server trung gian. Dữ liệu test do mình tự tạo ra nên không ảnh hưởng tới người khác
Nhược điểm:
  • Bạn phải viết mọi thứ liên quan tới database vào trong code, bao gồm cả store procedure
  • Không phù hợp với các ứng dụng chứa dữ liệu  quan trọng.


bài demo :https://github.com/trinhthithao/Sem3Mycrosoft/tree/master/ASP/Student

           Cảm Ơn Bạn Đã Quan Tâm Đến Bài Viết Này ^.^  .

ASP.NET MVC LambdaẼpressions

     Xin chào, tôi tên là Trịnh Thị Thảo sinh viên trường FPT APTECH

                                        ASP.NET MVC LambdaExpressions

I, Hiểu + Biết :

         +khái niệm: Biểu thức lambda bản chất chỉ là một cách viết khác của Anonymous Inner Class theo một cách ngắn gọn hơn, làm cho đoạn code trông "sạch" hơn.

                     +Có thể nói so với anonymous method, lambda expression được coi là một sự cái tiến đáng giá từ phiên bản C# 2.0 lên C# 3.0. Khi dùng anonymous method, bạn có thể tạo các hàm in-line nhằm hạn chế việc khai báo các hàm riêng lẻ không cần thiết, giúp mã lệnh ngắn gọn hơn. Nay với lambda expression, bạn có thể viết ngắn gọn và dễ dàng hơn nhờ việc cung cấp toán tử và cú pháp mới, đồng thời thể hiện sự “thông minh” của compiler bằng cách tự nhận diện kiểu của dữ liệu. Ngoài ra, đây còn là kĩ thuật để tạo ra các kiểu expression tree mà ta sẽ bàn tới khi có dịp.

II, Phân tích + Áp dụng:
 + tạo project mới có name là ASP.NETMVC5withLambdaExpressions.
 + chuột phải model + add + class + name= Book :



+ thêm các trường sau vào :





+ tạo một folder mới tên Context và thêm đoạn code sau :




+ tạo một controller mới là BookController : chuột phải controller + add + Controller , name= BookController.
+ thêm đoạn code sau như hình + chuột phải vào các method Get + add view :
+ thêm các @html sau vào các view vừa được add:




+ thêm đoạn code sau vào hàm create:






+ thêm hai hàm code sau và chuột phải + add view :




+hoàn thành và chạy thử ứng dụng 

III, Tổng Kết: 
     +  Các biểu thức Lambda đặc biệt hữu ích khi viết các biểu thức truy vấn LINQ.

IV, Đánh giá:
     + lambda expression được coi là một sự  cái tiến đáng giá từ  các phiên bản


bai demo:https://github.com/trinhthithao/Sem3Mycrosoft/tree/master/ASP/ASP.NETMVC5withLambdaExpressions
           Cảm Ơn Bạn Đã Quan Tâm Đến Bài Viết Này ^.^  .

LINQ ASP.NET MVC


                                             chương trình:   MVC-LINQ 


I,Biết + Hiểu:

       +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 (trong bài này tôi chỉ hướng dẫn với C#). 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 của bạn 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ừ đó ta có thể truy xuất database thông qua những class đó.
     +LinQ to SQL khá 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ì nó 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. Việc đó ru ngắn đáng kể thời gian cho lập trình viên và cũng dễ dàng cho người sử dụng cài đặt.
+ các thành phần của LINQ:
LINQ to Objects
“LINQ to Objects” ở đây có nghĩa là nói đến cách sử dụn LINQ đối với các đối tượng Collection mà đã được thực thi giao diện IEnumerable hoặc IEnumerable<T> tức những collection có thể “liệt kê” ra được. Đây là trường hợp sử dụng đơn giản nhất của LINQ khi làm việc với dữ liệu.
- LINQ to SQL
LINQ to SQL là một phiên bản hiện thực hóa của O/RM (object relational mapping) có bên trong .NET Framework  3.5, nó cho phép bạn mô hình hóa một cơ sở dữ liệu dùng các lớp .NET. Sau đó bạn có thể truy vấn cơ sở dữ liệu dùng LINQ, cũng như cập nhật/thêm/xóa dữ liệu từ đó.
LINQ to SQL hỗ trợ đầy đủ transaction, view và các stored procedure (SP). Nó cũng cung cấp một cách dễ dàng để thêm khả năng kiểm tra tính hợp lệ của dữ liệu và các quy tắc vào trong mô hình dữ liệu của bạn.
- LINQ to XML
Sử dụng LINQ với mục đích truy vấn file XML và tiện lợi truy vấn hơn nhiều so với việc dùng XmlDocument, Xpath và Xquery như trước kia.
- LINQ to Datasets
Giới thiệu sơ  về DataSet
DataSet trong ADO.NET là một bước phát triển lớn trong việc phát triển ứng dụng cơ sở dữ liệu đa hệ. Khi lấy và chỉnh sửa dữ liệu, duy trì liên tục kết nối tới Data Source trong khi chờ user yêu cầu thì rõ ràng là tốn tài nguyên máy rất nhiều.
DataSet giúp ích ở đây rất lớn. Vì DataSet cho phép lưu trữ dữ liệu và chỉnh sửa tại ‘local cache’, hay gọi là offline mode. Có thể xem xét và xử lý thông tin trong khi ngắt kết nối. Sau khi chỉnh sửa và xem xong thì tạo một kết nối và update dữ liệu từ local vào Data Source.
Dữ liệu trong DataSet được lưu trữ dưới dạng một Collection các Tables và bạn cần phải xử lý thông qua các lớp DataTable (DataRow và DataColumn).

II, thực hành và phân tích:

     +tạo project , chọn và đặt tên như hình sau :




+ chọn mô hình MVC + Ok :



+ tạo class trong Model nhu hình dưới :



+ đặt tên class mới tạo là Product:


+thêm các trường sau vào class Product vừa tạo :


+ tạo Class trong context : chuột phải context + add + class như hình :



+ thêm vào class mới tạo như hình dưới :



+ chỉnh sửa trong web.config như sau :



+ chuột pgair controller + Add + Controller+ điền name:ProductController + ok
+ thêm các dòng code như sau vào class ProductController:





+ chọn chuột phải vào các hàm có method get cần dùng + add view .
+ thêm các hàm cho ProductController như sau :
       - thêm đoạn sau vào các view của Product :



     - thêm đoạn sau :( hàm còn lại tương tự + add View + thêm các @html.Actionlink như trên vào view):





+ chạy và thử nghiệm ứng dụng của bạn .


III, Tổng Kết :

+ Như vậy chúng ta rút ra điểm mạnh của LINQ là “viết truy vấn cho rất nhiều các đối tượng dữ liệu”. Từ  cơ sở dữ liệu, XML, Data Object … thậm chí là viết truy vấn cho một biến mảng đã tạo ra trước đó. Vì thế ta có các khái niệm như là LinQ to SQL, LinQ to XML,….

Khi tạo một đối tượng LINQ thì Visual Studio sẽ tự động sinh ra các lớp có các thành phần tương ứng với CSDL của chúng ta. Khi muốn truy vấn, làm việc với CSDL ta chỉ việc gọi và truy xuất các hàm, thủ tục tương ứng của LINQ mà không cần quan tâm đến các câu lệnh SQL thông thường.
Tóm lại LINQ ra đời để giảm công sức cho những quá trình đơn giản và “chung chung” trước đây


IV,Đánh giá:
           +nếu so sánh với SQL, LINQ đơn giản hơn, gọn hơn và mã nguồn ở cấp độ cao hơnLINQ đôi khi xem xét để so sánh với C#, C++. SQL là ngôn ngữ truy vấn lâu đời, được phát minh vào năm 1974. Từ đó, SQL được mở rộng dường như vô tận, nhưng lại không được tái cấu trúc lại. Điều đó là cho SQL đôi khi hơi lộn xộn, tương tự như VB6 và Visual FoxPro

          +tính khả thi và liên kết cao .



bài demo:https://github.com/trinhthithao/Sem3Mycrosoft/tree/master/ASP/LINQwithASP.NETMVC5

          Cảm Ơn Bạn Đã Quan Tâm Đến Bài Viết Này ^.^  .







Databasefirst

                               Xin chào, tôi tên là Trịnh Thị Thảo sinh viên trường FPT APTECH .  

                                                      Database first

I, Biết + Hiểu:
   -Đây là mô hình truyền thống và lâu đời nhất mà ai cũng quen, đó chính là tạo database trước sau đó sẽ tạo bằng tay hoặc sinh tự động các class tương ứng với mỗi thực thể trong database
Ưu điểm:
  • Dễ dàng, quen thuộc với hầu hết tất cả mọi người
  • Code tự động sinh ra dựa vào các bảng trong database
  • Phù hợp cho các ứng dụng lớn
Nhược điểm:
  • Không quản lý được version của database
  • Bất tiện khi làm việc theo nhóm, cả nhóm thường phải chung 1 server để database thống nhất cho cả team.

II,Áp dụng + Phân tích :

Tạo một cơ sở dữ liệu và kết nối với sqlserver:

+ mở sql server, tạo một database là HR14, tạo table có các trường sau:


+ mở visual studio Chọn File -> New -> Project rồi đặt tên như sau :



+tạo Entity Data Model như hình dưới :


+chọn menu : Data,  chọn ADO.NET Entity Data Model rồi đặt tên là EmployeeModel:


+ chọn EF Design from database + next => chuyển sang form mới + chọn New Connection :



+ kết nối spl server điền tên Server name và tên Database cần kết nối + chon Ok => chuyển form thì click vào table + đổi tên RH14Model thành EmployeeModel + Ok.
mô hình sẽ được thêm vào dự án của bạn và mở cho bạn một emtity data model


+ trình duyệt thiết kế dc hoàn thành .



III, tổng kết :
               +Database First cho phép chúng ta tạo ra một mô hình EF Designer dựa trên cơ sở dự liệu hiện có.Và từ dữ liệu đó cho phép chúng ta đọc và ghi một số dữ liệu từ cơ sở dữ liệu


IV, đánh giá :

         Đây là mô hình truyền thống và lâu đời nhất mà ai cũng quen, đó chính là tạo database trước sau đó sẽ tạo bằng tay hoặc sinh tự động các class tương ứng với mỗi thực thể trong database
Ưu điểm
  • Dễ dàng, quen thuộc với hầu hết tất cả mọi người
  • Code tự động sinh ra dựa vào các bảng trong database
  • Phù hợp cho các ứng dụng lớn
Nhược điểm
  • Không quản lý được version của database
  • Bất tiện khi làm việc theo nhóm, cả nhóm thường phải chung 1 server để database thống nhất cho cả team
bài demo : https://github.com/trinhthithao/Sem3Mycrosoft/tree/master/ASP/EntityFrameWorkDatabaseFirst

          Cảm Ơn Bạn Đã Quan Tâm Đến Bài Viết Này ^.^  .










Thứ Sáu, 30 tháng 11, 2018

Data Annotation

Xin chào, tôi tên là Trịnh Thị Thảo sinh viên trường FPT APTECH.

                                       Annotation 

I,Biết + Hiểu:


                   -Data Annotations được giới thiệu trong phiên bản .NET 3.5, là 1 bộ tập hợp các thuộc tính và các                           class được định nghĩa trong System.ComponentModel.DataAnnotations, dùng để bổ sung thông tin                        cho class với metadata. MetaData gồm 1 bộ các quy tắc được dùng để chỉ ra đối tượng nào cần                           được kiểm tra. 
                   -Validation là một tính năng quan trọng trong ASP.NET MVC và được phát triển trong một thời gian                       dài. Validation vắng mặt trong phiên bản đầu tiên của asp.net mvc và thật khó để tích hợp 1                                   framework validation của một bên thứ 3 vì không có khả năng mở rộng. ASP.NET MVC2 đã hỗ trợ                         framework validation do Microsoft phát triển, tên là Data Annotations.
                  -vai trò: kiểm tra dữ liệu luôn là một cách thức đối với một lập trình viên .Bạn không chỉ kiểm tra                      dữ liệu ở trên trình duyệt mà còn kiểm tra dữ liệu trên server.Việc kiểm tra dữ liệu ở phía người dùng                    sẽ mang lại những thông tin cần thiết khi người dùng nhập dữ iệu trên form, kiểm tra dữ liệu trên                            server cũng rất cần thiết vì server là nơi nhận bất kì thông tin từ một mạng nào đó . 
                  -các thuộc tính :
                       DataType : Chỉ ra kiểu dữ liệu
      
       DisplayName : Đổi tên hiển thị của trường dữ liệu
  
       DisplayFormat : Kiểu dữ liệu hiển thị

       Required : Bắt buộc phải nhập dữ liệu

       ReqularExpression : Dùng biểu thức ReqularExpression để kiểm tra dữ liệu theo pattern

       Range : Thiết lập phạm vi dữ liệu

       StringLength : Độ dài của dữ liệu ( tối đa, tối thiểu)

       MaxLength : Kích thước tối đa của dữ  liệu nhập vào

       Bind : Chỉ ra trường bind hoặc không bind dữ liệu cho data model

       ScaffoldColumn : Ẩn hoặc hiển thị trường form




II,:Áp dụng + Phân Tích:

   +thêm đoạn code sau vào class trong Model của bạn :




       +Bảng liệt kê các thuộc tính System.ComponentModel.DataAnnotations.Schema.





III,tổng quát:

             -Data Annotation giúp cho việc quản lí dữ liệu từ người dùng được kiểm soát tốt hơn.

IV, Đánh giá:

             -sử dụng dataannotation giúp chúng ta bảo đảm dc dữ liệu đưa vào hợp lệ và không sảy ra sai xót 


bài demo: https://github.com/trinhthithao/Sem3Mycrosoft/tree/master/ASP/DataAnnotations


                                Cảm Ơn Bạn Đã Quan Tâm Đến Bài Viết Này ^.^  .

CODE FIRST ASP.NET MVC

Xin chào, tôi tên là Trịnh Thị Thảo sinh viên trường FPT APTECH                                                       CODE FIRST IN AS...