Ошибка сервера в приложении MVC 3 с Database First и Entity Framework 4.1 - PullRequest
0 голосов
/ 22 февраля 2012

Я создаю приложение MVC 3 с базой данных First и Entity Framework 4.1.Приложение должно хранить данные о «сотрудниках» и включать функции добавления / редактирования / удаления, однако я сталкиваюсь с 2 проблемами:

1) Мне удается получить данные из базы данных, но при редактировании / добавлении данных этоне отправляет данные обратно в базу данных

Контроллер «AssociateController»:

//
// GET: /Blog/Create

public ActionResult Create()
{
    return View();
}

//
// POST: /Blog/Create

[HttpPost]
public ActionResult Create(Blog blog)
{
    try
    {
        using (var db = new BlogDataEntities())
        {
            db.Blogs.Add(blog);
            db.SaveChanges();
        }

        return RedirectToAction("Index");
    }
    catch
    {
        return View();
    }
}

Представление «Добавить»:

@model LoginFormExample.Models.Associate

@{
    ViewBag.Title = "Add associate";
}

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)

    @Html.LabelFor(model => model.FirstName)
    @Html.EditorFor(model => model.FirstName)
    @Html.ValidationMessageFor(model => model.FirstName)

    @Html.LabelFor(model => model.LastName)
    @Html.EditorFor(model => model.LastName)
    @Html.ValidationMessageFor(model => model.LastName)

2) При удалении «связанного» я ​​получаю сообщение об ошибке сервера -

Object reference not set to an instance of an object.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Контроллер «AssociateController»:

//
// GET: /Associate/Delete/AssociateId
public ActionResult Delete(int id)
{
    using (var db = new AssociateDBEntities())
    {
        return View(db.Associates.Find(id));
    }
}

//
// POST: /Associate/Delete/AssociateId
[HttpPost]
public ActionResult Delete(int id, Associate associate)
{
    try
    {
        using (var db = new AssociateDBEntities())
        {
            db.Entry(associate).State = System.Data.EntityState.Deleted;
            db.SaveChanges();
        }
        return RedirectToAction("ViewAll");
    }
    catch
    {
        return View();
    }
}

Представление 'Удалить':

@model LoginFormExample.Models.Associate

@{
    ViewBag.Title = "Delete";
}

    First name:
    @Model.FirstName

    Last name:
    @Model.LastName

Кто-нибудь знает, в чем может быть проблема?Я борюсь с тем, что может быть проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...