Произошла ошибка при выполнении определения команды. Смотрите внутреннее исключение для деталей
В моем приложении mvc asp.net я получаю сообщение об ошибке в функции редактирования: в данном коде
public ActionResult Edit(int id)
{
var res = (from r in objeEntities.DocumentationsSet.Include("DocStatus")
where r.textid == id select r)
.First();
}
Я получаю это исключение:
Source : System.Data.Entity
Stack Trace :
at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
at System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext
context, ObjectParameterCollection parameterValues)
at System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
at System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable.GetEnumerator()
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
at System.Data.Objects.ELinq.ObjectQueryProvider.b__0[TResult](IEnumerable`1 sequence)
at System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable`1 query, Expression queryRoot)
at System.Data.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[S](Expression expression)
at System.Linq.Queryable.First[TSource](IQueryable`1 source)
at admin.com.Controllers.DocsGridController.Edit(Int32 id) in c:\Data\FinalCode\AC015\acomMVCSourceCode\admincom\Controllers\DocsController.cs:line
307
Message : An error occurred while executing the command definition. See the inner exception for details.
Эта ошибка генерируется при подключении к удаленному серверу.
Что это за ошибка? Как мне это исправить?
8 ответов
Обычно это означает, что ваши файлы схемы и сопоставления не синхронизированы и где-то есть переименованный или отсутствующий столбец.
Проведя часы, я обнаружил, что пропустил 's'
буква в названии таблицы
это было [Table("Employee")]
вместо [Table("Employees")]
Это происходит, когда вы указываете другое имя для имени таблицы репозитория и таблицы базы данных. Пожалуйста, проверьте имя таблицы с базой данных и хранилищем.
В моем случае я испортил connectionString
свойство в профиле публикации, пытается получить доступ к неправильной базе данных (Initial Catalog
). Entity Framework затем жалуется, что сущности не соответствуют базе данных, и это правильно.
Фактический запрос не возвращает результатов? First()
потерпит неудачу, если нет результатов.
У меня была похожая ситуация с ошибкой "Произошла ошибка при выполнении определения команды". У меня были некоторые представления, которые захватывали из другой базы данных, которая использовала безопасность текущего пользователя. Второй БД не разрешил вход в систему для пользователя первого БД, вызвавшего возникновение этой проблемы. Я добавил логин db на сервер, на который он пытался получить доступ с исходного сервера, и это устранило проблему. Проверьте свои представления и посмотрите, есть ли какие-либо связанные базы данных, которые имеют другую безопасность, чем база данных, в которую вы входите изначально.
В моем случае, это было от сохраненных производителей. Я удалил поле из таблицы и забыл удалить его из моего SP.
Посмотрите на Внутреннее исключение и выясните, какой объект мог вызвать проблему, возможно, вы изменили его имя.
Я только что столкнулся с этой проблемой, и это потому, что я обновил представление в моей БД, а не обновил схему в моем отображении.