C# 中的“无效列名”

Posted

技术标签:

【中文标题】C# 中的“无效列名”【英文标题】:“Invalid Column Name” in C# 【发布时间】:2020-01-18 14:53:59 【问题描述】:

即使所有列都存在于 Sql Server 的表中,我在 Visual Studio 中也会收到错误“列名无效”。表列名称是 AttandanceId 但它显示“无效列名称”错误,即。 AttandanceId1 在 Sql Server 表中不存在于 Attandance

public IActionResult EmployeeReport(int id)

    var viewModel = new AttandanceViewModel();
    var EmployeeList = _dbContext.Employees.ToList();

    viewModel.DropFirstName = new SelectList(EmployeeList, "EmployeeId", "FirstName");
    viewModel.AttList = _dbContext.Attandance.Where(i => i.EmpId == id).ToList();
    ViewBag.Id = id;
    var Count = viewModel.AttList.Count();

    ViewBag.Counts = Count;
    return View(viewModel);

【问题讨论】:

你能给我们你的类Employees的结构吗? @public int EmployeeId 获取;放; [必需] public int SN get;放; 公共字符串名字 获取;放; [必需] 公共字符串姓氏 获取;放; [必需] 公共字符串性别 获取;放; [必需] 公共字符串地址 获取;放; [必需] 公共字符串电子邮件 获取;放; [ForeignKey("DeptId")] public int 部门 实体使用映射文件,如果数据库中的名称发生更改,则必须更新该文件。映射文件将数据库名称链接到 c# 中的类。类本身不足以确定问题。 是的,我完全同意@dweng 的评论。 has to be updated if the name in the database changes。顺便说一句,您能否打断点进行调试,而不是向我们提供有关您的问题的更多详细信息?您收到错误的数字行代码? 你能提供你做过的相关代码吗?另外,请提供您设计的数据库表,以便我们检查您的问题。顺便说一句,您可以编辑您的问题以添加一些示例代码。无需在注释中添加代码。 【参考方案1】:

我认为您在 sql 表中进行了一些更改,然后尝试更新未成功更新的数据模型,例如正如您提到的 AttandanceId 和 AttandanceId1 显示冲突。

简单地做

1:删除您的表或完整模型并清理您的解决方案。

2:再次添加表/模型并构建您的解决方案,每一个想法都会 很好

【讨论】:

以上是关于C# 中的“无效列名”的主要内容,如果未能解决你的问题,请参考以下文章

C#无效列名问题但与其他不同

java - 如何修复Java中本机查询中的无效列名

R:识别并删除列名无效的列

所有列名无效

数据库表上的列名无效

将pandas DataFrame写入sql时出现无效列名错误