Sql server SqlException:无效的列名';客户1&x27;
在SQL Server中获取了一个具有ClientId(int,外键)的表。运行程序,一切正常。 将列重命名为ClientID(大写字母ID)。导入模型ASP.NET MVC Core后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 并运行该程序,我得到错
Scaffold-DbContext "Server=DESKTOP-XYZ;Database=MyDB;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force
并运行该程序,我得到错误无效的列名'clientd1'
- 在整个项目中找不到Client1
- 重建不起作用
- 将ClientD1(临时)添加到数据库将导致关于“ClientD2”的错误,等等
- 删除创建数据库将不起作用
- 退出/启动VS2017无效
- SQL Server探查器显示带有“clientD1”的语句
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;}
...
}
您是如何查询的?我们需要查看您的代码。您的模型类可能也会有所帮助。添加了失败的语句reSQL 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; }
...
}