Tôi có truy vấn sau đây Entity Framework:LINQ to Objects Tham gia hai bộ sưu tập để thiết lập giá trị trong bộ sưu tập đầu tiên
var results = from r in db.Results
select r;
Tôi đang sử dụng AutoMapper để ánh xạ kiểu khác:
var mapped = Mapper.Map<IEnumerable<Database.Result>, IEnumerable<Objects.Result>>(results);
Trong Loại Objects.Result của tôi, tôi có một thuộc tính được gọi là lý do không đến từ cơ sở dữ liệu. Nó đến từ một nguồn mà tôi cần phải về cơ bản cư trở thành loại ánh xạ của tôi:
var reasons = new List<Reason>
{
new Reason { Id = 1, Reason = "asdf..." }
};
tôi cần phải tham gia vào những lý do có thu ánh xạ của tôi và thiết lập thuộc tính Lý do trong bộ sưu tập ánh xạ của tôi bằng cách sử dụng giá trị từ lý do của tôi bộ sưu tập. Điều này có thể không?
// need something like this:
mapped = from m in mapped
join r in reasons on m.Id equals r.Id
update m.Reason = r.Reason
select m;
Rõ ràng là mã trên không biên dịch, nhưng tôi có thể viết mã nào mà tôi muốn không?
Cảm ơn. Tôi đoán hiệu suất-khôn ngoan nó không phải là một hit lớn kể từ khi tôi phân trang dữ liệu trước khi tôi bản đồ, do đó, lặp qua một lần thứ hai sẽ không phải là một vấn đề. – Dismissile
Nếu bạn đo lường và thấy rằng đây là một nút cổ chai hiệu suất, hãy quay lại và giải quyết nó, chúng tôi * có thể * tạo đột biến nếu chúng tôi * có *. Tuy nhiên, tôi sẽ không làm điều đó cho đến khi tôi biết rằng đây là những gì đang làm chậm tôi xuống. –
Tôi trang khoảng 10 mục mỗi lần. Tôi rất nghi ngờ nó sẽ gây ra bất kỳ vấn đề hiệu suất :) – Dismissile