Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SqlException:无效的列名';客户1&x27;_Sql Server_Asp.net Core - Fatal编程技术网

Sql server SqlException:无效的列名';客户1&x27;

Sql server SqlException:无效的列名';客户1&x27;,sql-server,asp.net-core,Sql Server,Asp.net Core,在SQL Server中获取了一个具有ClientId(int,外键)的表。运行程序,一切正常。 将列重命名为ClientID(大写字母ID)。导入模型ASP.NET MVC Core后 Scaffold-DbContext "Server=DESKTOP-XYZ;Database=MyDB;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force 并运行该程序,我得到错

在SQL Server中获取了一个具有ClientId(int,外键)的表。运行程序,一切正常。 将列重命名为ClientID(大写字母ID)。导入模型ASP.NET MVC Core后

Scaffold-DbContext "Server=DESKTOP-XYZ;Database=MyDB;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force
并运行该程序,我得到错误无效的列名'clientd1'

  • 在整个项目中找不到Client1

  • 重建不起作用

  • 将ClientD1(临时)添加到数据库将导致关于“ClientD2”的错误,等等

  • 删除创建数据库将不起作用

  • 退出/启动VS2017无效

  • SQL Server探查器显示带有“clientD1”的语句

在一条简单语句中获取错误(对于我所做更改的表):

SQL Server探查器显示

SELECT [p].[ID], [p].[ClientID], [p].[ClientId1], [p].[Description], [p].[ExpirationDate], [p].[ImageDirectory], [p].[Name], [p].[Price], [p].[Size], [p].[StartDate], [p].[StatusID], ... 
FROM [Project] AS [p]
(正确)生成的项目类如下所示(没有Client1):


如何解决这个问题,谢谢大家的帮助

问题与列的重命名无关。大约在同一时期,向未生成的部分客户端类添加了一个属性:

public partial class Client
{
    ...
    public List<Project> ProjectList { get; set; }
    ...
}
公共部分类客户端
{
...
公共列表项目列表{get;set;}
...
}
这似乎让林克感到困惑。需要一个额外的[NoMapped]数据注释。因此,下面的代码将起作用

public partial class Client
{
    ...
    [NoMapped]
    public List<Project> ProjectList { get; set; }
    ...
}
公共部分类客户端
{
...
[未映射]
公共列表项目列表{get;set;}
...
}

您是如何查询的?我们需要查看您的代码。您的模型类可能也会有所帮助。添加了失败的语句re
SQL Server profiler显示了一个带有“client1”的语句
-实际语句将提供更多信息。现在
Project
实体定义请使用profiler textdata Added和Project entity。当我创建一个新的VS2017项目Scaffold DbContext时,执行wait context.project.toListSync();一切都很好。但由于这是一个相当大的项目。。。
public partial class Client
{
    ...
    public List<Project> ProjectList { get; set; }
    ...
}
public partial class Client
{
    ...
    [NoMapped]
    public List<Project> ProjectList { get; set; }
    ...
}