.Net Entity Framework - пусть ключевое слово с условием - PullRequest
2 голосов
/ 08 июля 2011

Мне нужно сделать в запросе оператор if-else, означающий, что я хочу добавить OpenAmount только к ExpectedAmount, если тип = Cash, проблема в том, что он дает мне только строку наличных, а не другую строку.

 Dim TenderList = (From t In EnData.BatchRecs 
                   Join b In EnData.RegShifts 
                   On t.BatchID Equals b.RegShiftID 
                   Where t.BatchID = ID 
                   Let ExpectedAmount = (t.ExpectedAmount + b.OpeningAmount) 
                   Where t.TenderName = "CASH"
                   Select t.BatchRecID, ExpectedAmount, t.ExpectedCount, 
                      t.PickUpAmount, t.TenderName, OverShort, 
                      t.PickUpCount, t.TenderID)

Можно ли это сделать?

1 Ответ

2 голосов
/ 08 июля 2011

Вы должны быть в состоянии использовать условный оператор.

Let ExpectedAmount = If(t.TenderName = "CASH",
                        t.ExpectedAmount + b.OpeningAmount,
                        t.ExpectedAmount) 

Вам также не нужно Where t.TenderName = "CASH", если вы делаете это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...