PRN232 Chương 2 - Models trong Web API với Entity Framework Core
Chương 2 môn PRN232 đi vào tầng dữ liệu của Web API: định nghĩa model dạng POCO, DbContext và các thuộc tính DbSet quyết định lớp nào vào mô hình cơ sở dữ liệu, truy vấn LINQ được dịch sang SQL và thực thi trên máy chủ, Repository Pattern để tách logic truy cập dữ liệu, cùng Data Transfer Object và AutoMapper nhằm định hình dữ liệu cho client, chặn over-posting và không bao giờ trả thẳng entity chứa HashedPassword ra ngoài. Trọn bộ câu hỏi trắc nghiệm có giải thích.
Bắt đầu bằng Chế độ học nếu bạn muốn đáp án và giải thích hiện ngay sau mỗi câu — không bấm giờ, dừng lúc nào cũng được. Chọn Thi thử khi muốn biết mình đang ở đâu: có bấm giờ, chấm điểm ở cuối, và giải thích chỉ mở sau khi nộp.
Luyện tập theo chủ đề này
Câu hỏi của chủ đề
public class User {
public int Id { get; set; }
public string Username { get; set; }
= String.Empty;
public string HashedPassword { get; set; }
= String.Empty;
public bool IsAdmin { get; set; }
}Which of the following would be an appropriate DTO to return to a client asking for user details?
public class ApplicationDbContext : DbContext {
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) {
}
public DbSet<Product> Products { get; set; }
public DbSet<Category> Categories { get; set; }
}EF Core biết được các lớp nào cần bao gồm trong mô hình cơ sở dữ liệu dựa trên các thuộc tính DbSet<T> được định nghĩa trong lớp DbContext. Khi bạn tạo một thuộc tính DbSet<T>, EF Core sẽ tự động phát hiện lớp tương ứng và bao gồm nó trong mô hình cơ sở dữ liệu. Điều này giúp bạn dễ dàng quản lý các lớp và mối quan hệ giữa chúng trong ứng dụng .NET 9 sử dụng EF Core.
var result = await _context.Products .Where(p => p.IsAvailable) .OrderBy(p => p.Name) .ToListAsync();Đề có câu hỏi của chủ đề này
3 đề chứa ít nhất một câu thuộc chủ đề — mở đề để làm cả bộ, không chỉ từng câu.