Sử dụng khung pháp nhân/LINQ, tôi cần trợ giúp với các điều sau.Làm cách nào để truy vấn bảng giao nhau
Cơ sở dữ liệu có bảng Người có cột nhận dạng của PersonId. Ngoài ra còn có một bảng kỹ năng với một cột nhận dạng của SkillId. Cả hai được kết nối thông qua một bảng thứ ba PeopleSkills có cột nhận dạng riêng của nó PeopleSkillsId, một cột nước ngoài tham chiếu đến PersonId và một cột nước ngoài tham chiếu đến SkillId.
Phương pháp mà tôi đang cố viết là thông qua một tham số của loại Danh sách chứa bất kỳ số kỹ năng nào mà chúng tôi đang tìm kiếm. Phương thức này sẽ trả về một List được liên kết với tất cả các kỹ năng trong danh sách tham số đầu vào. Làm cách nào để tạo danh sách loại trừ bất kỳ ai không có tất cả các kỹ năng trong danh sách Kỹ năng?
Vấn đề tôi gặp phải là tôi có rất ít trải nghiệm SQL. Tôi có rất nhiều kinh nghiệm lập trình khác, nhưng SQL luôn là một chút khó khăn đối với tôi. Tôi đã nghĩ đến việc sử dụng một Join, nhưng nó sẽ không hoạt động. tức là nếu người của tôi có kỹ năng A & B và danh sách tìm kiếm có các phần tử cho B & C, tham gia sẽ khớp với chúng trên B và trả về người đó. Tôi cần người này bị loại vì anh ta không có cả B & C.
Tôi cũng nghĩ về việc lặp qua danh sách kỹ năng và xây dựng bộ lọc, nhưng điều đó có vẻ xấu. Điều này dường như chỉ là một vấn đề mà LINQ được xây dựng để xử lý, sử dụng một List để truy vấn một List khác, và rằng cần có một giải pháp thanh lịch.
Tôi muốn đưa ra một số suy nghĩ này; Tôi sẽ liên hệ lại với bạn trong vòng 24 giờ tới với câu trả lời toàn diện, nếu ai đó chưa làm như vậy. –