首页 > 解决方案 > 类型的成员“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);
        }

在此处输入图像描述

在此处输入图像描述

标签: c#asp.net-mvcentity-framework

解决方案


不确定问题可能是什么,但我可能会尝试在 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 列的名称周围有括号?)。你能去掉括号看看你是否仍然得到错误吗?


推荐阅读