Interview Notes

  • Home
  • Blog
    • Ntech Developers
    • Fanpage
    • Group
    • Github
  • Interview Notes
  • Social
    • Facebook
    • Twitter
    • Linkedin
  • About
  • Contact me

 Code First:

Viết các class Model bằng code C# và generate Database từ class Model.

Ưu điểm:
- Rất phổ biến (vì các lập trình viên thường không thích thiết kế DB, nhưng thích thiết kế class)
- Kiểm soát hoàn toàn code model, thêm xóa sửa thuộc tính vô cùng dễ dàng
- Không phải nặng đầu suy nghĩ về DB. Đối với cách tiếp cận này, DB chỉ là cái “cục” data, lôi ra xài thôi
- Có thể version control Database

Nhược điểm
- Các thay đổi cấu trúc trực tiếp trên DB sẽ mất
- Khó kiểm soát những column sẽ tạo trên Db
- Hơi khó khi kết hợp với Db có sẵn

Database First:
Generate Model từ Database có sẵn và các class model sẽ ko được phép chỉnh sửa vì database không đổi.

Ưu điểm:
- Ít phổ biến hơn
- DB có thể được develop riêng
- Dùng được DB có sẵn
- Entity Framework sẽ tạo ra các Entity class cho bạn

Nhược điểm
- Không thể thay đổi code đã được Generate
- Khó khăn khi muốn thêm các DataAttribute và DisplayAttribute cho các class model
- Khó khăn khi muốn biểu diễn các kiểu quan hệ cha con của class
- Mỗi lần thay đổi cấu trúc DB, bạn sẽ phải update lại mapping và model để phản ánh sự thay đổi đó

 IEnumerable nằm trong namespace System.Collections

IEnumerable là một list hay contatiner giữ các item chỉ hỗ trợ filter nhưng không thể chỉnh sửa các item như thêm, xoá, sửa, đếm...
IQueryable, IList, IDictionary, ICollection kế thừa IEnumerable Interface.

- ICollection là interface cơ bản nhất trong số các interface đã liệt kê.
Đó là một interface có thể đếm được hỗ trợ Count và đó là về nó.
- IList kế thừa IEnumerable và ICollection, nhưng nó cũng hỗ trợ thêm và xóa các mục, truy xuất các mục theo chỉ mục...
Đó là giao diện được sử dụng phổ biến nhất cho "danh sách các đối tượng", điều mà tôi biết.
- IQueryable là một interface có thể liệt kê hỗ trợ LINQ.
Bạn luôn có thể tạo IQueryable từ IList và sử dụng LINQ tới Objects, nhưng bạn cũng thấy IQueryable được sử dụng để thực hiện hoãn lại các câu lệnh SQL trong LINQ to SQL và LINQ to Entities.
- IDictionary là một interface khác với ánh xạ các khóa duy nhất đến các giá trị.

IQueryable
+ IQueryable tốt nhất cho truy vấn dữ liệu out-memory như là database.
+ Khi truy vấn, IQueryable thực thi câu lệnh truy vấn và lọc dữ liệu trên Server luôn.
+ IQueryable hỗ trợ lazy loading. Vì thế nó phù hợp cho trường hợp phân trang.
+ IQueryable hỗ trợ custom query sử dụng phương thức CreateQuery và Execute.

 Câu lệnh SELECT dùng để lấy các hàng từ cơ sở dữ liệu và cho phép lựa chọn một hoặc nhiều hàng hoặc cột từ một hoặc nhiều bảng.


Câu lệnh WHERE là mệnh đề được dùng để lọc kết quả bởi các điều kiện, kết quả trả về phải đáp ứng các điều kiện trong mệnh đề này. Khi đã có các table đích để lấy dữ liệu, thì chắc hẳn mới đến mệnh đề WHERE để lọc lại dữ liệu đó.
Bài đăng cũ hơn Trang chủ

ABOUT AUTHOR

NTechDevelopers

Follow us

New technology for developers

POPULAR POSTS

  • Interview notes: Senior Dot Net (Ver 08/2022)
    Khi nào dùng store khi nào dùng function? Phân biệt 2 loại Index? Phân biêt truncate table và delete table? Phân biệt net framework và net c...
  • Interview notes: Senior Dot Net (Ver 05/2022)
     - Giới thiệu về bản thân - Nói sơ lược về công nghệ của dự án gần nhất? - So sánh Net Framwork và Net Core? - Net core 3.1 có gì khác biệt ...
  • Interview notes: Junior DotNet (Ver 10/2019)
      1. Bài test: 30 phút Gồm 4 phần: OOP Data structure Database Design pattern 1.1 – Câu hỏi trắc nghiệm liên quan đến 4 thuộc tính 5 câu – C...

Categories

  • Concurrency
  • Database
  • Design Patterns
  • DotNet
  • Entity Framework
  • Frontend
  • Interview notes
  • OOP
  • Principles
  • Subversion Control
  • Unit test

Advertisement

Website đang trong quá trình cập nhập. Hi vọng các bạn ủng hộ!

About Me

NTechDevelopers is a community of Software development joined together with certain common goals: to learn, to teach and to have fun programming. I hope that you find NTechDevelopers to be a wealth of information and a valuable resource.

Popular Posts

  • Interview notes: Senior Dot Net (Ver 08/2022)
    Khi nào dùng store khi nào dùng function? Phân biệt 2 loại Index? Phân biêt truncate table và delete table? Phân biệt net framework và net c...

Advertisement

Copyright © 2022 Interview Notes. Created by NtechDevelopers