2013-03-04 74 views
0

嗨我有兩個類,其中包含屬性&我有一個類,其中包含兩個類的列表作爲其屬性。我應該返回一個單獨的列表,其中包含兩個類的對象,這些對象都是在created_date.Can any1 help上排序的。我已經粘貼了以下3類:將兩個列表整理爲一個

這是第一類: -

public partial class TouchPointModel : BaseModel 
{ 
    public List<EntityModel> Entities { get; set; } 
    public UserModel User { get; set; } 
    public int TouchPointId { get; set; } 
    public string Description { get; set; } 
    public int EntityId { get; set; } 
    public DateTime Created_date{ get;set; } 
} 

這是第二類: -

public partial class SurveyModel : BaseModel 
{ 
    public int Id { get; set; } 
    public int SelectedEntityId { get; set; } 
    public int SelectedEntityType { get; set; } 
    public int ParentEntityId { get; set; } 
    public bool IsMyProjects { get; set; } 
    public DateTime Created_date{ get;set; } 
} 

&這是普通類

public partial class RecentInteractionsModel 
{ 
    public int ContactId { get; set; } 
    public List<TouchPointModel> TouchPoints { get; set; } 
    public List<SurveyModel> Surveys { get; set; } 
    public int EntityId { get; set; } 
    public int EntityTypeId { get; set; } 
    public int SelectedParentId { get; set; } 
} 

對於UI,我應該顯示最新的接觸點或調查取決於cr過時的日期。

+0

你能否澄清一點點你是什麼試圖實現 – juanreyesv 2013-03-04 04:45:11

+0

'SurveyModel'是否也來自'BaseModel'? – 2013-03-04 04:49:38

+0

是調查模式也從基礎模型 – 2013-03-04 05:54:02

回答

2

聽起來像是你將需要兩個Classes

public interface IMyInterface 
{ 
    DateTime Created_date{ get;set; } 

    // add any other common properties between the 2 models 

} 


public partial class TouchPointModel : BaseModel, IMyInterface 
{ 
    ....... 

    public DateTime Created_date{ get;set; } 
} 

public partial class SurveyModel : IMyInterface 
{ 
    ....... 

    public DateTime Created_date{ get;set; } 
} 

之間的Interface然後您可以創建一個列表IMyInterface

List<IMyInterface> allItems = TouchPoints.Cast<IMyInterface>() 
         .Union(Surveys.Cast<IMyInterface>()) 
         .OrderBy(x => x.Created_date).ToList(); 
+0

派生或者如果無論從'BaseModel'你可以使用這個變體上sa_ddam213解決方案獲得:用'BaseModel'取代'IMyInterface'爲: 列表 allItems = TouchPoints.Cast () (x => x.Created_date).ToList(); .OrderBy(x => x.Created_date).ToList(); – 2013-03-04 05:07:12

+0

@JayWalker,我不認爲'BaseModel'將會是一個很好的存儲這些類型的屬性的地方,因爲'BaseModel'可能被用在很多不需要它們的地方。但是,如果它僅用於這兩個類,那麼是的,這將工作正常:) – 2013-03-04 05:14:00

+0

它看起來像兩個類可能已經從'BaseModel'派生,並且'Create_date'可能在那裏定義。如果是這樣,那麼在你的Linq中使用'BaseModel'將會很簡單。由於我們沒有'BaseModel'的代碼,我無法確定。 – 2013-03-04 05:26:17