代码之家  ›  专栏  ›  技术社区  ›  dwilliss

在SQL Server Express中重命名列-实体框架找不到它

  •  1
  • dwilliss  · 技术社区  · 8 年前

    我有一个使用实体框架的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服务器。

    有什么建议吗?

    0 回复  |  直到 8 年前