Получение System.InvalidCastException ошибка при операции удаления - PullRequest
0 голосов
/ 09 октября 2019

У меня есть следующий код в контроллере моей компании, и при попытке удалить компанию отображается «System.InvalidCastException: невозможно преобразовать объект типа« Payroll.Core.Domain.Company »в тип« System.Data.Entity ». Core.Objects.DataClasses.IEntityWithRelationships' «. Можете ли вы помочь исправить это.

  // GET: Company/5/Delete
        [Route("{companyPk:int}/Delete")]
        public async Task<ActionResult> Delete(int? companyPk)
        {
            //Validate parameters
            if (companyPk == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Company identifier is missing.");
            }

            //Get the model from db
            Company company = await _work.Companies.GetAsync(companyPk);
            if (company == null)
            {
                return HttpNotFound();
            }

            //Convert model to dto
            CompanyDto companyDto = _mapper.Map<CompanyDto>(company);

            return View(companyDto);
        }

        // POST: Company/5/Delete
        [HttpPost, ActionName("Delete")]
        [ValidateAntiForgeryToken]
        [Route("{companyPk:int}/Delete")]
        public async Task<ActionResult> DeleteConfirmed(int companyPk)
        {
            //Get the model from db
            Company company = await _work.Companies.GetAsync(companyPk);

            var allrelatedEnds = ((IEntityWithRelationships)company).RelationshipManager.GetAllRelatedEnds();
            bool hasRelation = false;
            foreach (var relatedEnd in allrelatedEnds)
            {
                if (relatedEnd.GetEnumerator().MoveNext())
                {
                    hasRelation = true;
                    break;
                }
            }

            if (!hasRelation)
            {
                //Prepare log model
                var logCompany = _mapper.Map<LogCompany>(company);
                logCompany.RecordId = 0;
                Utilities.Instance.SetLogEntityProperties(logCompany, "D");

                //Save model to db
                _work.LogCompanies.Add(logCompany);
                _work.Companies.Remove(company);
                await _work.CompleteAsync();

                return RedirectToAction("Index");
            }
            return null;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...