gpt4 book ai didi

c# - Invalid object name exception 指的是我没有创建的对象

转载 作者:太空宇宙 更新时间:2023-11-03 23:31:30 26 4
gpt4 key购买 nike

目前,我正在尝试使用 EntityFramework 从数据库中提取信息。因此,我已连接到正确的数据库:

<add name="ChartConn" connectionString="Data Source=****;Initial Catalog=****;User ID=****;Password=****;" providerName="System.Data.SqlClient" />

星号处填写了该数据库的正确个人信息。

问题是当我尝试使用我的 Controller 中的以下内容从此数据库中提取信息时:

public ActionResult Index()
{
var q = (from c in db.ChannelMaps
select c.LABEL).ToList();

return View(q);
}

以及模型中的以下内容,CHANNELMAP:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;
using System.Linq;
using System.Web;

namespace ChartApp.Models
{
public class CHANNELMAP
{
[Key]
public int CHANNELNUM { get; set; }
public int COLUMNID { get; set; }
public string LABEL { get; set; }
public string RAWUNITS { get; set; }
public double? MULT { get; set; }
public double? ADDER { get; set; }
public int? DATATYPEID { get; set; }
public int? OPCODEID { get; set; }
public decimal? OPVALUE { get; set; }
public int? SITEID { get; set; }
public string DASNAME { get; set; }
}

public class ChannelMapContext : DbContext
{
public ChannelMapContext()
: base("ChartConn")
{
Database.SetInitializer<Models.ChannelMapContext>(null);
}

public DbSet<CHANNELMAP> ChannelMaps { get; set; }

}
}

我得到一个错误:无效的对象名称 dbo.CHANNELMAPs,它指向我 Controller 中 linq 查询的第一行(from c in db.ChannelMaps) .这很奇怪,因为我的模型名称是 CHANNELMAP,所以我不确定为什么我会收到一个我没有使用过的对象的无效名称错误。是什么导致了这个错误?我曾多次尝试更改我的模型名称,并进行了三次检查以确保我的连接字符串和属性名称均已相应设置。

最佳答案

默认情况下,EF 在模型中每个实体的末尾添加一个“s”(复数)。要删除它,您只需删除该约定:

 protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}

Exception Details: System.Data.SqlClient.SqlException: Invalid object name 'dbo.CHANNELMAPs'

此错误意味着 EF 正在将您的 LINQ 转换为使用数据库中不存在的表的 sql 语句。

检查您的数据库并验证该表是否存在,或者您是否应该使用不同的表名。

关于c# - Invalid object name exception 指的是我没有创建的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32057969/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com