【问题标题】:Invalid column name Entity Framework Core列名无效的实体框架核心
【发布时间】:2019-08-21 15:49:39
【问题描述】:

我有以下实体类:

public partial class ProjectUser
{
        public int Id { get; set; }
        public int ProjectId { get; set; }
        public int UserId { get; set; }

        public virtual Project Project { get; set; }
        public virtual Users User { get; set; }
}

当我执行以下操作时:

myDbContext.ProjectUser.ToList()

我收到此错误:

System.Data.SqlClient.SqlException (0x80131904):列名“ProjectUser”无效

我的dbcontext 具有以下属性:

public virtual DbSet<ProjectUser> ProjectUser { get; set; }

表格脚本如下。

CREATE TABLE [dbo].[ProjectUser]
(
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [ProjectId] [int] NOT NULL,
    [UserId] [int] NOT NULL,

    CONSTRAINT [PK_ProjectUser] 
        PRIMARY KEY CLUSTERED ([Id] ASC)
                    WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, 
                          IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, 
                          ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

怎么了?类是用脚手架生成的。

【问题讨论】:

  • 尝试使用 ProjectUsers 而不是 ProjectUser
  • 能否请您添加您尝试使用的上下文。您是否有 DbSet ProjectUser{get;set;} 的属性
  • 不包含 ProjectUsers 的定义
  • 公共虚拟 DbSet ProjectUser { get;放; }
  • 可能是刚刚从用户或项目模型中的 DataAnnotations 设置引发的错误

标签: c# entity-framework-core


【解决方案1】:

可能是刚刚从User 或Project 模型中的DataAnnotation 命名设置引发的错误。

【讨论】:

    猜你喜欢
    • 2021-11-22
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多