使用linq查询时未正确选择c#int值

本文关键字:选择 c#int linq 查询 使用 | 更新日期: 2023-09-27 18:24:56

我已经使用实体框架代码优先构建了一个数据库。

我试图做一个简单的LINQ查询,在列表框中显示表的数据,但int值总是为0。因此,我尝试在XAML.CS中进行调试,此时:

var item = (from Item in db.Items
            select Item ).ToList();

当选择实体时,我的"价格"值为0,但它应该是7

编辑

项目.cs

    public int Price
    {
        get { return price; }
        set { price = value / 100; }
    }

使用linq查询时未正确选择c#int值

set { price = value / 100; }

这是你的问题。。。我不知道该怎么做,但去掉/ 100,它就会起作用。

7 / 100就是0,因为你在做整数除法。

如果要用小数显示价格,请将属性和列设为decimal

或者,如果由于某种原因您一直使用int列,请参阅如何首先在实体框架代码中映射不同数据类型的列和实体属性如何做到这一点:

// An int property to map to your database:
[Column("Price")]
public int PriceInt { get; set; }
// Use this property from code.
[NotMapped]   
public decimal Price 
{
    // Cast to decimal for decimal division.
    get { return (decimal)PriceInt / 100; }
    set { PriceInt = (int)(value * 100); }
}