Iqueryable là gì

     
Bạn sẽ xem: Sự không giống nhau Giữa Ienumerable với Iqueryable Là Gì, Sự biệt lập Giữa Iqueryable với Ienumerable Là Gì tại Cộng đồng in ấn

31 thg 10, 2008Nirmal và IEnumerable là gì?” href=”https://stackoverflow.com/questions/252785/what-is-the-difference-between-iqueryablet-and-ienumerablet” target=”_blank” rel=”noopener noreferrer”>Trước hết, IQueryable không ngừng mở rộng đồ họa IEnumerable, do vậy, bất kể điều gì chúng ta có thể làm với một IEnumerable “đơn giản”, chúng ta cũng có thể làm cùng với IQueryable.

Bạn đang xem: Iqueryable là gì

Đang xem: Iqueryable là gì

IEnumerable chỉ bao gồm một phương thức GetEnumerator() trả về một Enumerator mà bạn có thể gọi cách thức MoveNext() của chính nó để lặp sang 1 chuỗi T.

IQueryable bao gồm gì IEnumerable không là nhị thuộc tính quan trọng của một đối tượng chỉ ra một nhà cung ứng truy vấn (ví dụ: nhà cung ứng LINQ to SQL) và một nhà hỗ trợ khác trỏ đến biểu thức truy hỏi vấn đại diện cho đối tượng người tiêu dùng IQueryable bên dưới dạng cây cú pháp trừu tượng hoàn toàn có thể chạy ngang hoàn toàn có thể chạy được được nhà cung ứng truy vấn nhất thiết hiểu (đối với đa số các phần, các bạn không thể đưa biểu thức LINQ lớn SQL mang lại nhà cung cấp LINQ cho Thực thể mà không bị ném nước ngoài lệ).

Biểu thức hoàn toàn có thể chỉ đơn giản và dễ dàng là một biểu thức không đổi của chính đối tượng hoặc một cây phức tạp hơn của một tập hợp những toán tử tầm nã vấn và toán hạng. Các phương thức IQueryProvider.Execute() hoặc IQueryProvider.CreateQuery() của phòng cung cấp truy vấn được gọi với một biểu thức được truyền đến nó, với sau đó, một hiệu quả truy vấn hoặc một IQueryable khác được trả về.

Xem thêm: Khối Lượng Bản Thân Xe Là Gì ? Khối Lượng Bản Thân Của Xe Ô Tô Được Tính Thế Nào

Sự khác biệt chính là các toán tử LINQ đến IQueryable lấy Expression đối tượng người dùng thay bởi đại biểu, nghĩa là ngắn gọn xúc tích truy vấn tùy chỉnh mà nó dấn được, ví dụ: bộ chọn vị ngữ hoặc giá bán trị, sống dạng cây biểu thức thay vì chưng ủy nhiệm cho phương thức.

IEnumerable rất tốt để thao tác làm việc với những chuỗi được lặp trong cỗ nhớ, nhưngIQueryable được cho phép hết phần đông thứ trong bộ nhớ lưu trữ như nguồn tài liệu từ xa, ví dụ như cơ sở tài liệu hoặc dịch vụ thương mại web.

Thực hiện truy vấn:

Trường hợp triển khai truy vấn đang được thực hiện “đang xử lý” , thông thường tất cả những gì được yêu mong là mã (dưới dạng mã) để tiến hành từng phần của các truy vấn.

Trường hợp thực hiện sẽ được triển khai ngoài các bước , logic của tróc nã vấn phải được bộc lộ trong dữ liệu để nhà cung cấp LINQ gồm thể chuyển đổi nó thành bề ngoài thích vừa lòng để xúc tiến hết bộ nhớ lưu trữ – mặc dầu đó là truy hỏi vấn LDAP, SQL hay bất kể điều gì.

Thêm trong:

*
*
*
*

IQueryable nhanh hơn IEnumerable nếu họ đang xử lý một lượng dữ liệu khổng lồ từ cơ sở dữ liệu bởi vì, IQueryable chỉ nhận được dữ liệu cần thiết từ đại lý dữ liệu trong những số ấy IEnumerable có được tất cả dữ liệu bất cứ sự cần thiết từ các đại lý dữ liệu