У меня есть веб-сайт ASP.Net Core 2.1, использующий EF Core, который отлично работает при работе на моем локальном ПК (Windows 10 Pro) в VS и в IIS и подключен к базе данных Live.Однако при развертывании этого веб-сайта на действующем веб-сервере (Windows Server 2012 r2), все еще подключенном к той же базе данных, я получаю сообщение об ошибке ниже:
Требуемый столбец DateLive отсутствовал вРезультаты операции «FromSql»
Я пробовал следующие 2 способа вызова хранимой процедуры, и оба из них дают ту же ошибку, когда на живом сервере, но работают нормально локально.
List<SqlParameter> paramList = new List<SqlParameter>();
paramList.Add(new SqlParameter("@CustomerId", SqlDbType.Int) { Value = customerId });
DbParameter[] parameters = paramList.ToArray();
//Method 1
return _context.Set<sp_GetCustomer_Result>().FromSql($"sp_GetCustomer @CustomerId", parameters);
//Method 2
return _context.GetCustomers.FromSql($"sp_GetCustomer @CustomerId", parameters);
Нет проблем, когда процедура сохранения делает простой выбор, как показано ниже
select DateTimeEntered from Customers
Но когда используется псевдоним, как показано ниже, я получаю эту ошибку.
select DateTimeEntered as DateLive from Customers
Это должно быть связано с разницей между веб-сервером и моим ПК, так как все остальное такое же, но я не могу понять, в чем разница.