Câu trả lời tuyệt vời, nhưng đừng quên một điều QUAN TRỌNG - chúng cung cấp các kết quả khác nhau!
var idList = new int[1, 2, 2, 2, 2]; // same user is selected 4 times
var userProfiles = _dataContext.UserProfile.Where(e => idList.Contains(e)).ToList();
Điều này sẽ trả về 2 hàng từ DB (và điều này có thể đúng, nếu bạn chỉ muốn một danh sách người dùng được sắp xếp riêng biệt)
NHƯNG trong nhiều trường hợp, bạn có thể muốn có một danh sách kết quả không được sắp xếp . Bạn luôn phải nghĩ về nó giống như về một truy vấn SQL. Vui lòng xem ví dụ với giỏ hàng eshop để minh họa những gì đang xảy ra:
var priceListIDs = new int[1, 2, 2, 2, 2]; // user has bought 4 times item ID 2
var shoppingCart = _dataContext.ShoppingCart
.Join(priceListIDs, sc => sc.PriceListID, pli => pli, (sc, pli) => sc)
.ToList();
Điều này sẽ trả về 5 kết quả từ DB. Sử dụng 'chứa' sẽ là sai trong trường hợp này.