【问题标题】:.Net Entity Framework - let keyword with a condition.Net Entity Framework - 带有条件的关键字
【发布时间】:2011-07-07 21:24:10
【问题描述】:

我需要在查询中创建一个 if-else 语句,这意味着如果 type = Cash,我只想将 OpenAmount 添加到 ExpectedAmount,问题是它只给我现金行而不是其他行。

 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)

这个可以吗?

【问题讨论】:

    标签: .net vb.net linq entity-framework


    【解决方案1】:

    您应该能够使用条件语句。

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

    如果你这样做,你也不需要Where t.TenderName = "CASH"

    【讨论】:

    • 你最好的!非常感谢
    猜你喜欢
    • 2023-02-08
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多