【问题标题】:Entity Framework 6 raw sql query returns 0 in place of int value实体框架 6 原始 sql 查询返回 0 代替 int 值
【发布时间】:2015-03-08 13:33:39
【问题描述】:

我有一个小问题,我的一个查询在 SQL Server 2008 中返回正确的整数值,但当我通过 ctx.Database.SqlQuery<> 运行查询时,它会将所有整数列值设为 0。

DateTimevarchar 等其他列返回正确的数据。

SQL Server 2008 中的示例查询结果:

2015-03-08  F4U4    H012    Line 01 0   15916   147 190 15390   0   0   0

使用以下代码在 EF 中得到相同的查询结果:

using (MEYNDBEntities ctx = new MEYNDBEntities())
{
    var obj = ctx.Database.SqlQuery<DBResultDPRDataUpload>(query).ToList();
    return obj;
}

2015-03-08  F4U4    H012    Line 01 0   0   0   0   0   0   0   0

我能够使用相同的过程与其他查询一起查询相同的数据库上下文,并且它返回整数值没有任何问题。

这可能是什么问题?如果需要更多信息,请告诉我。

选择语句示例:

SELECT 
   convert(DATE, getdate()) AS DPRDate
   ,substring(label, 0, charindex('-', label)) AS Farm
   ,substring(label, charindex('-', label) + 1, len(label)) AS House
   ,'Line 01' AS [LineNo]
   ,0 AS [Live BC]
   ,d.TBC AS [Net BC]
   ,b.noDoas AS [Number of DOAs]
   ,c.ROA AS [Number of ROAs]
   ,d.TBW AS [DBW]
   ,0 AS [LBW]
   ,0 AS [DOA Weight]
   ,0 AS [ROA Weight]
FROM 
   <multiple tables>

提前谢谢你!

【问题讨论】:

    标签: c# asp.net-mvc entity-framework sql-server-2008


    【解决方案1】:

    0 表示您想要获取整数值,但您从存储过程中没有得到任何结果检查值并使用默认值在 sqlserver 中运行存储过程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-02
      • 2016-05-20
      • 1970-01-01
      • 1970-01-01
      • 2015-06-16
      • 2012-04-26
      • 2016-06-08
      相关资源
      最近更新 更多