在 C# 中应将 (Numeric(18,0), Null) 转换为什么

问题描述 投票:0回答:1

这是我的方法:

public static newCase GetCaseById(string id)
{
        using (var db = myDbContext.Create())
        {
            Guid _id;
            if (Guid.TryParse(id, out _id))
            {
                var _case = db.NewCases.FirstOrDefault(c => c.id == _id); ??
                return _case;
            }
            else
            {
                return null;
            }
        }
    }

The 'Case_id' property on 'newCases' could not be set to a 'System.Decimal' value. You must set this property to a non-null value of type 'System.Double'.

然而,Case_id 列在 newCase 类中定义明确。

public class newCase
{
   public double Case_id { get; set; }

   //more here...
}

表中Case_id定义为

CaseId(Numeric(18, 0), NULL)
.

我已经将 case_id 从 ddouble 更改为 double? 但没有成功。有什么问题吗?

感谢帮助

c# entity-framework
1个回答
3
投票

根据文档,数据库中的数值应在 .Net 中反映为 Decimal

所以我的建议是改变你的

public double Case_id { get; set; }

public Decimal Case_id { get; set; }

https://msdn.microsoft.com/en-us/library/cc716729(v=vs.110).aspx

© www.soinside.com 2019 - 2024. All rights reserved.