什么(数字(18,0),Null)应该转换为C#

时间:2016-11-14 23:17:28

标签: c# entity-framework

这是我的方法:

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从d ouble 更改为 double?但未成功。有什么问题?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

根据文档,数据库中的数值应反映为.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