
Entity Framework Core nâng cao
Raw SQL, stored procedures, transaction, AsNoTracking, AsSplitQuery, query tags, interceptors, tinh chỉnh hiệu năng
1Làm thế nào để thực thi một truy vấn raw SQL nhằm lấy các entity trong EF Core?
Làm thế nào để thực thi một truy vấn raw SQL nhằm lấy các entity trong EF Core?
Câu trả lời
Phương thức FromSql() hoặc FromSqlRaw() cho phép thực thi các truy vấn raw SQL trong khi trả về các entity được DbContext theo dõi. Điều này hữu ích trong các tình huống mà LINQ không thể biểu diễn truy vấn trực tiếp, chẳng hạn như gọi stored procedures hoặc các hàm trả về bảng. Kết quả sau đó có thể được kết hợp với LINQ để thêm bộ lọc hoặc bao gồm các quan hệ.
2Sự khác biệt giữa FromSqlRaw() và ExecuteSqlRaw() trong EF Core là gì?
Sự khác biệt giữa FromSqlRaw() và ExecuteSqlRaw() trong EF Core là gì?
Câu trả lời
FromSqlRaw() được dùng để thực thi các truy vấn SELECT trả về các entity được theo dõi, cho phép kết hợp với LINQ. ExecuteSqlRaw() được dùng để thực thi các lệnh non-query (INSERT, UPDATE, DELETE) và trả về số hàng bị ảnh hưởng. FromSqlRaw() áp dụng cho một DbSet, trong khi ExecuteSqlRaw() áp dụng cho Database. Sự phân biệt này đảm bảo an toàn kiểu và tính nhất quán của mô hình.
3Làm thế nào để gọi một stored procedure trả về các entity trong EF Core?
Làm thế nào để gọi một stored procedure trả về các entity trong EF Core?
Câu trả lời
Sử dụng FromSqlRaw() hoặc Database.SqlQuery<T>() để gọi một stored procedure và ánh xạ kết quả sang các entity. Điều quan trọng là phải thêm AsEnumerable() sau lời gọi để ngăn EF Core cố gắng kết hợp trên kết quả của stored procedure, điều này sẽ gây ra lỗi cú pháp SQL. Các tham số có thể được truyền bằng cú pháp @p0, @p1 để ngăn chặn SQL injection.
Vai trò của AsNoTracking() trong EF Core là gì?
Khi nào nên sử dụng AsNoTrackingWithIdentityResolution() thay vì AsNoTracking()?
+22 câu hỏi phỏng vấn
Các chủ đề phỏng vấn .NET khác
Cơ bản về C#
LINQ & Delegates
Kiến thức cốt lõi ngôn ngữ C#
Kiến thức cơ bản về ASP.NET Core
Vòng đời request trong ASP.NET Core
Configuration & Settings
Vòng đời ứng dụng
Dependency Injection
Entity Framework Core
Minimal APIs
Phát triển Web API
Async trong ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Tuần tự hóa JSON
Các tính năng nâng cao của C#
Clean Architecture
Logging, Monitoring & Observability
Kiểm thử đơn vị & xUnit
Kiểm thử tích hợp
Docker & Containerization
Quản lý gói NuGet
Memory Management & GC
Lập trình phản ứng
Async/await & Mẫu thiết kế
.NET Design Patterns
Tối ưu hóa hiệu năng
Bảo mật & Best Practices
SignalR & Thời gian thực
Kiến trúc Microservices
Nắm vững .NET cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí