2010-09-27 34 views
8

Chúng tôi (nhóm của tôi) sắp bắt đầu phát triển một dự án quan trọng, một trong những hệ thống phụ của dự án này là một dịch vụ Windows. Dịch vụ này sẽ là xương sống của toàn bộ hệ thống và phải đáp ứng theo tiêu chuẩn quan trọng của nhiệm vụ.LINQ có phải là một lựa chọn hợp lệ không?

Dịch vụ này sẽ chứa nhiều danh sách để giảm thiểu tương tác cơ sở dữ liệu và để đạt được hiệu suất, tôi ước tính kích thước trung bình của danh sách là 250,00 trong trường hợp bình thường.

Bạn nên sử dụng LINQ để truy vấn dữ liệu từ các hàng đợi này hoặc tôi có nên thực hiện theo kế hoạch ban đầu của tôi về việc tạo danh sách được lập chỉ mục không?

Danh sách Indexed là một thực hiện tùy chỉnh của Idictionary, mà sẽ làm việc như một chỉ số và sẽ có nhiều tính năng hiệu suất theo định hướng như MRU, Index tái vv

Trả lời

10

Trước khi lăn giải pháp của riêng bạn, bạn có thể muốn xem tại i4o, một nhà cung cấp LINQ to Objects được lập chỉ mục.

Nếu không, có vẻ như việc áp dụng chỉ mục của riêng bạn cũng có thể đáng giá - nhưng thực hiện kiểm tra hiệu suất trước. "Nhiệm vụ quan trọng" thường là về độ tin cậy nhiều hơn hiệu suất - nếu LINQ to Objects hoạt động tốt, tại sao không sử dụng nó?

Thậm chí nếu bạn làm kết thúc bằng văn bản bộ sưu tập của riêng mình, bạn nên xem xét làm cho chúng "LINQ có thể truy vấn" trong một số thời trang (sẽ phụ thuộc vào bản chất của bộ sưu tập) ... thật tuyệt vời để có thể write LINQ truy vấn, ngay cả khi nó không chống lại vanilla LINQ to Objects.

Các vấn đề liên quan