如何在Linq中添加数字而不是追加到最后

时间:2015-04-30 09:04:22

标签: c# asp.net-mvc linq entity-framework

尝试使用Linq查询更新ASP.net MVC中的表。它在实际更新方面工作正常,但我无法弄清楚如何以数学方式更新它。例如,打印机信用基金设置为“50”,加12,然后设置为“5012”而不是“62”。以下是进行更新的代码:

tblOption fund = (
                    from n in db.tblOptions
                    where n.ID == 1
                    select n).First();
                fund.PrinterCreditFund = fund.PrinterCreditFund + tblPrinterCredit.Money;

我们正在使用实体框架,如果这会产生任何差异。

任何有关正确方向进行数学更新而不是附加数值的提示都将非常受欢迎。

非常感谢

2 个答案:

答案 0 :(得分:1)

就是这样。将fund.PrinterCreditFundtblPrinterCredit.Money转换为使用Convert.ToInt32(),并确保fund.PrinterCreditFund也是int类型

tblOption fund = (
                    from n in db.tblOptions
                    where n.ID == 1
                    select n).First();
                fund.PrinterCreditFund = Convert.ToInt32( fund.PrinterCreditFund) + Convert.ToInt32( tblPrinterCredit.Money);

答案 1 :(得分:0)

我猜Moneystring。然后+运算符将它们连接起来,而不是对值进行求和。因此两者都必须是数字类型,例如int

fund.PrinterCreditFund = fund.PrinterCreditFund + int.Parse(tblPrinterCredit.Money);

当然最好不要在第一时间将数字存储为字符串。