EF Core 10 đã thay đổi cách thức hàm Contains gửi danh sách đến SQL Server với giới hạn 2,100 parameter, vượt qua ngưỡng này sẽ gây lỗi. Nguyên nhân kỹ thuật nằm ở SQL Server limiting number of parameters trong một câu lệnh. Hệ quả là query thất bại khi danh sách filter vượt quá 2,100 mục. Bạn có thể giải quyết bằng kỹ thuật SplitQuery hoặc AsEnumerable() nhưng cần benchmark để chọn phương án tối ưu cho trường hợp cụ thể.
Why read it: Bài này giúp lập trình viên hiểu và giải quyết vấn đề giới hạn tham số khi lọc Entity Framework Core với danh sách lớn.
Answer 3 short questions to earn reward points for this article. Only do it if you want the points.
3 questions · under a minute · optional
Source: https://codewithmukesh.com/blog/ef-core-contains-large-list. 8 Sync News only summarizes and links out; content copyright belongs to the authors and original sources.
Đang tải bình luận…
Bất kỳ công ty nào trên thế giới cũng đều có chung bảy bảng cơ bản trong production …
DuckDB 2.0 mang lại hiệu suất vượt trội với recursive CTEs nhanh hơn tới 90x so với phiên …
Bài viết phân tích hiệu năng Eloquent trong Laravel, tập trung vào phát hiện N+1 queries và các kỹ thuật tối ưu hóa database design. Tác giả chỉ ra việc sử dụng eager loading thay vì lazy loading giúp giảm từ 150 truy vấn xuống còn 2 truy vấn cho cùng dữ liệu. Các kỹ thuật quan trọng được đề cập bao gồm pagination với chunking, transaction boundaries và việc phân tích query plans bằng EXPLAIN. Điều đáng học là cách cân bằng giữa tính chính xác dữ liệu và hiệu năng thông qua chọn lọc aggregation functions và indexes phù hợp.
Bài viết này giúp lập trình viên tối ưu hiệu năng ứng dụng bằng cách giải quyết các vấn đề về truy vấn N+1, thiết kế cơ sở dữ liệu và chiến lược xử lý dữ liệu hiệu quả.
C# 15 và .NET 11 giới thiệu union types và closed class hierarchies để xử lý các giá trị có nhiều dạng JSON, minh họa qua trường hợp maxUnavailable của Kubernetes và payment-events. Union types khai báo một tập hợp các primitive, class hoặc interface cố định với switch statement đầy đủ do compiler kiểm tra, trong khi closed hierarchies hạn chế kế thừa để compiler xử lý các derived types đã biết là đầy đủ. System.Text.Json serialize union types mà không cần envelope hay discriminator, chỉ ghi JSON shape của case đang hoạt động, còn closed hierarchies có thể chọn discriminator-based polymorphism thông qua InferClosedTypePolymorphism. Cả hai tính năng đều tích hợp với Minimal APIs, MVC, SignalR's JsonHubProtocol, Blazor và OpenAPI, nhưng union types không hỗ trợ cho query strings, route values, headers hay form fields do các giá trị này chỉ bind chuỗi không có JSON parsing.
Bài viết giúp lập trình viên tận dụng union types và closed hierarchies trong C# để xử lý JSON đa dạng hiệu quả hơn trong ASP.NET Core.
Trendyol xử lý hàng triệu sự kiện và giao dịch mỗi ngày và trước đây dựa vào Couchbase làm …
Bối cảnh: Prisma 8 đang là chủ đề bàn luận trong các cộng đồng lập trình với những lo ngại về khả năng triển khai trong các ứng dụng sản phẩm lâu dài. Nguyên nhân kỹ thuật: Lead developer của Prisma 8 giải quyết ba vấn đề chính từ Reddit discussion: kiến trúc mới, động lực thương mại của Prisma, và liệu migration model có che đi SQL hay không. Hệ quả: Những giải đáp này giúp làm rõ hướng phát triển của Prisma và tăng cường niềm tin của lập trình viên khi cân nhắc sử dụng framework cho các dự án lớn. Điều đáng học: Người dùng nên chú ý đến cách Prisma cân bằng giữa trừu tượng hóa SQL và cung cấp quyền kiểm soát trực tiếp khi cần thiết.
Bài này giải đáp ba mối quan trọng về Prisma 8 giúp lập trình viên đánh giá khả năng triển khai ứng dụng sản xuất lâu dài.
Bài viết so sánh C# và F# trong môi trường .NET, cho thấy C# vẫn là ngôn ngữ phổ biến cho phát triển ứng dụng truyền thống. Nguyên nhân kỹ thuật mà tác giả cho F# vượt trội là sự hỗ trợ mạnh mẽ cho lập trình hàm: kiểu dữ liệu không thay đổi, suy luận kiểu mạnh mẽ và pattern matching tích hợp sẵn. Nhờ những tính năng này, mã F# thường ngắn gọn hơn, dễ duy trì và giảm nguy cơ lỗi thời gian chạy so với mã C# tương đương. Hệ quả là các nhóm phát triển có thể đạt được tốc độ sản xuất cao hơn và chất lượng code ổn định khi áp dụng F# cho các bài toán phức tạp như xử lý dữ liệu hoặc dịch vụ tài chính. Điều đáng học là khi đánh giá ngôn ngữ cho dự án, không chỉ xem xét mức độ phổ biến mà còn cân nhắc lợi ích của paradigm hàm và mức độ trừu tượng mà ngôn ngữ cung cấp để quyết định xem việc đầu tư thời gian học F# có mang lại lợi ích lâu dài không.
Bài viết này giúp lập trình viên hiểu tại sao F# vượt trội hơn C# trong nhiều trường hợp thực tế.
Bài viết mô tả việc đội phát triển gặp vấn đề N+1 khi truy vấn danh sách đối tượng và quyết định áp dụng eager loading để giảm số lượng query. Sau khi bật eager loading, tổng số query giảm từ 801 xuống chỉ một câu SQL duy nhất. Tuy nhiên, câu query duy nhất này trả về lượng dữ liệu lớn hơn khả năng bộ nhớ của ứng dụng, khiến mức sử dụng RAM tăng lên gấp ba lần so với trước khi tối ưu. Kết quả là, mặc dù hiệu suất về số lượng query cải thiện, ứng dụng dễ gặp lỗi out‑of‑memory hoặc trễ do việc xử lý khối dữ liệu lớn. Bài học là khi tối ưu N+1 cần cân bằng giữa giảm query và kiểm soát lượng dữ liệu được tải, ví dụ qua việc chọn trường cụ thể, sử dụng pagination hoặc batch loading thay vì eager loading toàn bộ liên kết.
Bài viết này dạy bài học quý giá rằng tối ưu hóa database không lúc nào cũng tốt nếu không cân nhắc đến giới hạn tài nguyên hệ thống.
Read the news here, practice coding, follow structured courses and train for IELTS on our sibling products — all connected through one 8 Sync account.
The ecosystem home: product overviews, blog and full pricing.
ExploreLearn along a clear roadmap: videos, auto-graded quizzes, certificates and mentors who ship for a living.
View the roadmap1,000+ DSA problems in Vietnamese, auto-graded across 7 languages — many FREE, right in your browser.
Practice for freeAI grading for all four IELTS skills with detailed rubric feedback.
Try it freeA 22 MB AI IDE for Vietnamese devs.
Download freeOrganizational memory for AI agents.
ExploreAI that staffs your Fanpage and qualifies leads for you.
Try it