我有一个使用实体框架的ASP.NET MVC web应用程序。
部署后,出于一致性原因,我决定重命名列。我在EF模型和模型所基于的本地数据库中修复了它。由于publish to filesystem无法更新数据库,所以我在目标服务器上的SQL Server Express数据库中手工修复了它。
但是web应用程序收到一个错误,说“无效的列名‘LastUpdateTime’”(这就是我重命名它的原因)。我可以在SQL Server Express中看到
是
就是这样拼写的。
我从web应用程序日志中复制了查询,并直接对数据库运行它。它起作用了,但是我在LasUpdateTime下得到了红色的曲线。我找到了这件交换物品
sql server invalid object name - but tables are listed in SSMS tables list
,然后按照那里的答案,红色的曲线消失了,但是web应用程序仍然得到错误。
这是EF创建的查询。
SELECT
[Extent1].[Id] AS [Id],
[Extent1].[Name] AS [Name],
[Extent1].[Description] AS [Description],
[Extent1].[IsPrivate] AS [IsPrivate],
[Extent1].[LastUpdateTime] AS [LastUpdateTime],
[Extent1].[ThumbnailPhoto_Id] AS [ThumbnailPhoto_Id]
FROM [dbo].[Groups] AS [Extent1]
ORDER BY [Extent1].[LastUpdateTime] DESC
当我在SQL Server中的查询中运行这个函数时,它运行得很好,但是web应用程序失败了。
出于好奇,我试着将描述栏重命名为“blah”。web应用程序只抱怨LastUpdateTime。
我怀疑连接字符串指向的是原始.mdb文件的副本,但它指向的是SQLEXPRESS服务器。
有什么建议吗?