EF Core .FromSql для запуска хранимой процедуры не может обрабатывать псевдонимы при размещении на сервере - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть веб-сайт 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

Это должно быть связано с разницей между веб-сервером и моим ПК, так как все остальное такое же, но я не могу понять, в чем разница.

...