小编Ant*_*Ant的帖子

实体框架C#将int转换为bool

我试图在C#MVC中重写一个VB.NET WebForms应用程序.使用Entity Framework实例化类时,我遇到了其中一个属性的问题.

我的数据库"VATInclusive"中有一列,类型为'int'.原始应用程序隐式将"1"或"0"转换为"true"或"false",但在我的应用程序中尝试执行此操作时,出现以下错误:

'Shop'上的'VATInclusive'属性无法设置为'System.Int32'值.必须将此属性设置为类型为"System.Boolean"的非null值.

我不能简单地改变数据库中的类型,因为其他应用程序使用该表.我已经尝试使用以下代码转换值,但它似乎只返回false,无论数据库是否有"0"或"1"......有人可以建议解决这个问题吗?

    [Column("VATInclusive")]
    private int _VATInclusive { get; set; }

    [NotMapped]
    public bool VATInclusive
    {
        get
        {
            if (_VATInclusive == 0)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
        set 
        {
            if(_VATInclusive == 0)
            {
                this.VATInclusive = false;
            }
            else 
            {
                this.VATInclusive = true;
            }
        }
    } 
Run Code Online (Sandbox Code Playgroud)

c# entity-framework

5
推荐指数
1
解决办法
7439
查看次数

标签 统计

c# ×1

entity-framework ×1