Linq Select if vb.net

Linq Select if vb.net,vb.net,linq,entity-framework,Vb.net,Linq,Entity Framework,我的数据库列中有一个美元金额。我可以让它根据金额是负数还是正数将数据放在一列中,但它会在False列中生成“0.00”。我怎样才能让那一列保持空白呢 我的代码如下 Dim query = From t In ds.HNBSavings Order By t.Date Descending, t.Id Descending Select t.Id, t.Date, t.Desc, Debit = If(t.Amount >= 0

我的数据库列中有一个美元金额。我可以让它根据金额是负数还是正数将数据放在一列中,但它会在False列中生成“0.00”。我怎样才能让那一列保持空白呢

我的代码如下

Dim query = From t In ds.HNBSavings
                Order By t.Date Descending, t.Id Descending
                Select t.Id, t.Date, t.Desc, Debit = If(t.Amount >= 0, t.Amount, 0), Credit = If(t.Amount < 0, t.Amount, 0)

dgBank.ItemsSource = query.ToList()
Dim query=来自ds.HNBSavings中的t
订单按t.日期递减,t.Id递减
选择t.Id、t.Date、t.Desc、借方=如果(t.Amount>=0,t.Amount,0),贷方=如果(t.Amount<0,t.Amount,0)
dgBank.ItemsSource=query.ToList()
因此,如果结果为正,则借方为5.0000,贷方为0.0000,功能正常,但结果有点难以读取

我已经尝试将false声明更改为Null,它可以工作,但在false列中返回1.0000。 将其更改为空字符串“”。ToString(),但获取运行时异常


提前感谢您的帮助。

您正在从
if(…)
语句返回数字,并且不存在空白数字。最接近的值是0,这就是为什么会看到该结果。返回可以显示空字符串的字符串

Dim query = From t In ds.HNBSavings
            Order By t.Date Descending, t.Id Descending
            Select t.Id, t.Date, t.Desc, Debit = If(t.Amount >= 0, t.Amount.ToString(), ""), Credit = If(t.Amount < 0, t.Amount.ToString(), "")

dgBank.ItemsSource = query.ToList()
Dim query=来自ds.HNBSavings中的t
订单按t.日期递减,t.Id递减
选择t.Id、t.Date、t.Desc、Debit=If(t.Amount>=0,t.Amount.ToString(),“”),Credit=If(t.Amount<0,t.Amount.ToString(),“”)
dgBank.ItemsSource=query.ToList()

我不知道您正在使用什么控件或其他什么,但对于空字符串选项,您是否尝试过执行
…,t.Amount.ToString(),“”)
?至少,他们会选择同样的类型。非常感谢你解释我为什么会有这个问题。非常好,非常感谢。我试过这个,但选错了。