2010-02-10 20 views
1
public class ErrorLogModel 
{ 

    public int UnitID { get; set; } 
    public string Address { get; set; } 
    public IList<HardwareLogModel> _Hardware { get; set; } 

} 
    public class SPLHardwareLogModel 
{ 
    public Guid HardwareID { get; set; } 
    public string HardwareDesc { get; set; } 
    public string HardwareStatus { get; set; } 
    public string ErroLogCode { get; set; } 
    public string ErroLogDescription { get; set; } 
    public DateTime? ErroLogDate { get; set; } 
} 

如果我想使用表達式的where子句ErrorLogModel其中硬件ID = 100LINQ表達的亞羣

任何機構可以幫助我嗎?

ErrorLogModel.Where((SPLHardwareLogModel a)=> a.ErroLogCode =='10001');

回答

0

豈不是:

ErrorLogModel.Where(i => i.SPLHardwareLogModels.FirstOrDefault(j => j.ErrorLogCode = '10001') != null); 

這樣一來,它發現錯誤日誌模型和分析子集合,找對象的存在。這就是如果你想選擇errorlogmodel對象。是這樣嗎?

如果發生這種情況回答你的問題,請把它標記爲答案,這將有助於你的答案率...

HTH。

0

難以閱讀的問題 - 不知道這是否有幫助,但我會發布它。

List<SPLHardwareLogModel> result = myErrorLogModel._Hardware 
    .OfType<SPLHardwareLogModel>() 
    .Where(a => a.HardwareID == 100) 
    .Where(a => a.ErroLogCode == '10001') 
    .ToList();