2012-06-14 35 views
1

我想申請的條件,之後我通過這樣的另一個條件:條件LAMBDA

List<Entity> GetByCondition() 
{ 
    If(dateConditionEnabled) 
    { 
     Repository.Get(i=>i.start<=datetime.Now && i.EndDate<=DateTime.Now); 
    } 
    else 
    { 
     Repository.Get(); 
    } 
} 

我想申請「如果」條件下,我在Get方法中使用的拉姆達。

有什麼想法?

-Regards

回答

3

Get()相當於Get(i => true)?在這種情況下,你可以使用:

List<Entity> GetByCondition() 
{ 
     return Repository.Get(!dateConditionEnabled || i=>i.start<=datetime.Now && i.EndDate<=DateTime.Now); 
} 
+0

謝謝henrik,它的作品非常出色。 – PickleRick

2

爲什麼不

List<Entity> GetByCondition() 
{ 
     return Repository.Get(i=>!i.dateConditionEnabled || i.start<=datetime.Now && i.EndDate<=DateTime.Now); 
} 

+0

謝謝哈姆雷特,亨裏克先生回答。但是您的帖子的第一部分!i.dateConditionEnabled是正確的。 – PickleRick

+0

'dateConditionEnabled'是存儲庫條目的成員,還是包含GetByCondition()的類的一部分?如果該類的一部分,那麼i =>!i.dateConditionEnabled將會出錯。 – AlanT

+0

dateConditionEnabled是我的實體的屬性,但不,在這裏沒有錯誤:) – PickleRick