c# - 类型的成员“aim1_Accuracy”在数据读取器中没有同名的对应列
问题描述
我正在将我的 asp.net mvc 项目与我的 sql server 数据库连接,但是当我添加最后一列时,它说:
数据读取器与指定的“AIRDMIS.Models.R1T_CDC”不兼容。类型的成员“aim1_Accuracy”在数据读取器中没有同名的对应列只有一列不工作其余显示正常
我的代码
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;
namespace AIRDMIS.Models
{
[Table("R1T_CDC")]
public class R1T_CDC
{
[Key]
public string Meta_instanceID { get; set; }
public double? S_No { get; set; }
public DateTime? SubmissionDate { get; set; }
public double? aim1_Latitude { get; set; }
public double? aim1_Longitude { get; set; }
public double? aim1_Altitude { get; set; }
[Column("[aim1-Accuracy]")]
public double? aim1_Accuracy { get; set; }
}
}
public class Context : DbContext
{
public Context() : base("DefaultConnection") { }
public DbSet<R1T_CDC> R1T_CDC { get; set; }
}
}
我的控制器
public ActionResult About()
{
var data = db.Database.SqlQuery<R1T_CDC>(@"select * from R1T_CDC");
return Json(data, JsonRequestBehavior.AllowGet);
}
解决方案
不确定问题可能是什么,但我可能会尝试在 SQL 查询中枚举您的选择对象。如果您枚举该字段,然后收到该字段在表中不存在的错误,则表明该错误与数据库表有关。
var data = db.Database.SqlQuery<R1T_CDC>(@"select S_No, SubmissionDate, aim1_Latitude, aim1_longitude, aim1_altitude, [aim1-Accuracy] from R1T_CDC");
(另外,为什么在您的数据库表中,aim1-Accuracy 列的名称周围有括号?)。你能去掉括号看看你是否仍然得到错误吗?
推荐阅读
- laravel - (Laravel 8.x)从数据库中获取数据并直接从主布局中使用它而不从参数传递它
- php - 使用 TCPDF 不显示会话消息
- javascript - 谷歌应用程序脚本获取范围以某种方式不起作用我做错了什么?
- html - 如何在boostrap 4中对齐容器中心的导航栏
- python - 将 Scip 与 CPLEX 或 Gurobi 链接
- xml - Oracle 12c,将 SOAP 响应存储到变量中或插入到表中
- python - 如何从元组列表的一部分中提取随机元素?
- php - 传递给 Illuminate\Database\Grammar::parameterize() 的 Laravel 工厂参数 1 必须是数组类型,给定字符串
- html - 嵌套 *ngFor 循环角度中(更改)事件输入的错误值
- windows - 无法使用带有 Windows 容器的 docker swarm 访问 Windows 机器上的共享存储