EF4.1 и 4.3 - проблемы в примере проекта MVC - PullRequest
0 голосов
/ 28 февраля 2012

Я использую этот пример кода отсюда .. http://msdn.microsoft.com/en-us/data/gg685489

[HttpPost]
    public ActionResult Edit(int id, Blog blog)
    {
        try
        {
            using (var db = new BlogDataEntities())
            {
                db.Entry(blog).State = System.Data.EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Index");
            }
        }
        catch
        {
            return View();
        }
    }

У меня проблемы с реализацией приведенного выше кода - в примере предполагается использование EF 4.1, и я работал на более старой версии. Позже я обновил свою версию EF до 4.3, и я все еще не могу это сделать. Я получил доступ к пакету nuget и установил его оттуда. Я проверил ссылки, и версия EF была подтверждена как 4.3 ... даже после новой установки EF, intellisense не показывает мне опцию "db.entry" .... любой может сказать мне, если я пропускаю другую иди сюда ... спасибо.

1 Ответ

1 голос
/ 28 февраля 2012

Если вы не используете Code First, то контекст данных по умолчанию - ObjectContext (а не DbContext, для которого предназначен ваш код). Если вы используете ObjectContext, то вместо этого вы захотите сделать это:

http://msdn.microsoft.com/en-us/library/bb896248.aspx

Однако я рекомендую щелкнуть правой кнопкой мыши в вашей модели и «добавить элемент генерации кода» и добавить шаблон DbContext. Затем он преобразует ваш объектный контекст в dbcontext и позволит вам получить доступ к записи, когда вы пытаетесь ее кодировать. Любой из них будет работать, но у DbContext гораздо более удобный API для работы.

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