Ссылка на объект не установлена ​​для экземпляра объекта… но это так?

У меня сейчас проблема с удалением объекта, ранее на этой неделе этот код был работает нормально, но теперь я получаю исключение с нулевой ссылкой, даже если объект, который я пытаюсь удалить, и экземпляр структуры сущности не являются нулевыми.

    MHNHubEntities _entities = new MHNHubEntities();

    // Get, GetList, Add, Save etc.

    public void Delete(PackageProduct packageProduct)
    {
        _entities.PackageProducts.DeleteObject(packageProduct);
    }

packageProduct является допустимым packageProduct, а все остальное, кроме этого удалить работает. Обычно я бы не спрашивал, как разрешить исключение нулевой ссылки - потому что это довольно очевидно, проверьте наличие нулей. Однако - в этом случае я в тупике, то, что работало вчера, внезапно перестает работать, и это вызывает исключение. Любая помощь будет принята с благодарностью, я уже подтвердил, что при возникновении этого исключения нет нулевых объектов.

edit

Я не хочу исключать, что что-то является нулевым и вызывает это - из-за самого характер создаваемого исключения. Согласно запросу, вот трассировка стека:

   at MHNHub.Areas.Store.Controllers.SettingsController.DeletePackage(Int32 id, FormCollection collection) in C:\Users\Grahame\Desktop\Projects\MHN Hub\Visual Studio Project\MHNHub\MHNHub\Areas\Store\Controllers\SettingsController.cs:line 618
   at lambda_method(Closure , ControllerBase , Object[] )
   at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
   at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassd.<InvokeActionMethodWithFilters>b__a()
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)

Вот мое действие контроллера:

  [HttpGet]
        public ActionResult DeletePackage(int id, FormCollection collection)
        {
            try
            {

                IPackageRepository packageRepository = new PackageRepository();
                var package = packageRepository.GetPackage(id);

                IPackageProductRepository packageProductRepository = new PackageProductRepository();
                var packageProducts = package.PackageProducts.ToList();

                foreach (var packageProduct in packageProducts)
                {
                    packageProductRepository.Delete(packageProduct);
                }

                packageRepository.Delete(package);
                packageRepository.Save();

                return Json(new { Success = "true" }, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                //return JSON with exception
                var result = new { Message = ex.Message, InnerException = ex.InnerException.ToString() };

                return Json(result, JsonRequestBehavior.AllowGet);
            }
        }
7
задан Gallen 8 February 2011 в 19:15
поделиться