Sau khi đọc this câu hỏi, Tôi cần làm sáng tỏ một số điều.IEnumerable <T> và IQueryable <T> làm rõ?
IQueryable<Customer> custs = from c in db.Customers
where c.City == "<City>"
select c;
IEnumerable<Customer> custs = from c in db.Customers
where c.City == "<City>"
select c;
Câu hỏi:
1) Is it ok để nói rằng: trong truy vấn đầu tiên trên SQLServer đang chạy toàn bộ hoạt động bao gồm cả khoản ở đâu và trở CHỈ các hàng có liên quan - trong khi cái thứ hai làm SELECT *
... và trả lại tất cả hàng vào bộ lọc C# và THEN?
2) Nếu tôi có bộ sưu tập chỉ đơn thuần là - trong bộ nhớ. (var lstMyPerson = new List<MyPerson>()
)
IQueryable<MyPerson> lst = from c in lstMyPerson
where c.City == "<City>"
select c;
vs
IEnumerable<MyPerson> custs = from c in lstMyPerson
where c.City == "<City>"
select c;
những gì sẽ là sự khác biệt trong thực hiện bây giờ?
Hãy xem chủ đề có liên quan này: http://stackoverflow.com/questions/252785/what-is-the-difference-between-iqueryablet-and-ienumerablet. Và ngoài ra, bạn đúng trong giả định của bạn ở # 1. Không chắc chắn 100% về # 2 vì vậy tôi sẽ để nó cho người khác. – blizz
@ blizz tôi đã đọc rồi. tất cả các câu trả lời có từ một cuốn sách POV. không có gì trả lời câu hỏi của tôi ở đó ....: (... bị bệnh ** hạnh phúc ** để xem dòng nào trả lời câu hỏi của tôi –