2010-10-20 17 views
5

Làm cách nào để sắp xếp bộ sưu tập bên trong của một đối tượng được khung thực thể trả về?Làm thế nào để sắp xếp danh sách bên trong được trả về bởi khung thực thể?

public class X 
{ 
    public string Field {get; set;} 
    public EntityCollection<Y> Ys {get; set;} 
} 

public class Y 
{ 
    public string Field {get; set;} 
} 

from x in entities.Xs 
orderby x.Field 
select x 

Có cách nào để sửa đổi truy vấn LINQ này để trả về các đối tượng X và cũng có sắp xếp các đối tượng Y không? Hay tôi phải tự sắp xếp danh sách Y khi quay lại?

EDIT:

Mã này phải trả lại một bộ sưu tập của X gõ các đối tượng, gõ vô danh không đáp ứng các yêu cầu của dự án hiện tại của.

Trả lời

3
var sortedList = from x in entities.Xs 
       orderby x.Field 
       select new { 
        Field = x.Field, 
        y = (select y in x.Ys 
         orderby y.Field 
         select y) 
       }; 

được sửa đổi: Nếu không muốn kiểu nặc danh thì làm như sau:

var sortedList = from x in entities.Xs 
       orderby x.Field 
       select new X { 
        Field = x.Field, 
        y = (select y in x.Ys 
         orderby y.Field 
         select y) 
       }; 
+0

Tôi nghĩ về điều này, nhưng sau đó tôi sẽ được trao xung quanh các loại vô danh thay vì loại X. Điều này xảy ra để sống trong một lớp dịch vụ vì vậy tôi cần loại vẫn giữ nguyên là X. –

+0

@Jerod: Vì vậy, hãy chọn 'X mới thay thế': http://stackoverflow.com/questions/2450536/simple-way-to-return -anonymous-type-to-make-mvc-using-linq-possible/2717690 # 2717690 –

+0

@Jerod Nhận xét của Danny đánh bại bản chỉnh sửa của tôi ... nhưng dù sao, hãy nhìn vào câu trả lời đã biên tập của tôi –

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