У меня есть веб-приложение ASP.NET MVC, использующее Entity Framework.После развертывания я решил переименовать колонку по соображениям согласованности.Я исправил это в модели EF и локальной базе данных, на которой основана модель.Поскольку публикация в файловой системе не может обновить базу данных, я исправил ее вручную в базе данных SQL Server Express на конечном сервере.
Но веб-приложение получает сообщение об ошибке «Неверное имя столбца« LastUpdateTime ».»(что я и переименовал).В SQL Server Express я вижу, что столбец - это , и именно так он пишется.
Я скопировал запрос из журнала веб-приложения и запустил его непосредственно для базы данных.Это сработало, но я получил красные волнистые линии под LasUpdateTime.Я нашел эту статью stackexchange sql недопустимое имя объекта сервера - но таблицы перечислены в списке таблиц SSMS , и после ответа там красные волнистые линии исчезли, но веб-приложение все еще получает ошибку.
Вот запрос, созданный 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, он работает просто отлично, но веб-приложение не работает.
Из любопытства я просто попытался переименовать столбец «Описание» в «бла».Веб-приложение только жаловалось на LastUpdateTime.
Я подозревал, что строка подключения указывает на копию исходного файла .mdb, но указывает на сервер SQLEXPRESS.
Есть предложения?