【发布时间】:2019-01-26 07:43:33
【问题描述】:
我不擅长实体框架,但计划运行原始查询。现在我被困住了。使用以下代码时,出现以下错误。
错误 CS1061 'Respons' 不包含 'TotalCount' 的定义和 没有扩展方法“总计”接受类型的第一个参数 可以找到“响应”(您是否缺少 using 指令或 汇编参考?)
当我在 SSMS 中运行相同的查询时,我得到以下结果。
Respons.cs
namespace Survey.Models
{
using System;
using System.Collections.Generic;
public partial class Respons
{
public int ResponseID { get; set; }
public string Username { get; set; }
public string Name { get; set; }
public string EmailAddress { get; set; }
public Nullable<System.DateTime> DateTime { get; set; }
}
}
原始查询
DbSqlQuery<Respons> Responses = DbContext.Responses.SqlQuery("SELECT max(ResponseID) AS ResponseID, COUNT(CreatedDateTime) AS Total, MAX(FORMAT(CreatedDateTime, 'dd-MMM-yyyy', 'en-US' )) as Date FROM Responses GROUP BY CAST(CreatedDateTime AS DATE) ORDER BY Date DESC");
foreach ( var r in Responses ){
Response.Write( r.TotalCount);
}
【问题讨论】:
-
错误很清楚:您的类
Respons不包含属性TotalCount- 所以即使您的SQL 可能返回该值,周围也没有属性实际存储它。因此,当您遍历所有返回的数据时 - 如果您的类Respons不包含任何属性,您如何想象总计数会显示出来?!?!?!?