Исключить привязку Asp.net MVC не работает на LINQ Entity - PullRequest
3 голосов
/ 28 мая 2009

Мне удалось найти время для работы над ASP.NET MVC. Я делаю учебное пособие Создание базы данных фильмов в ASP.NET MVC , в которой по-прежнему используется модель ADO.NET Enity. Мне удалось создать представление списка из модели сущностей LINQ. Итак, вот моя проблема. Атрибут Bind не работает на моем объекте SQL.

Оригинальный код с Ado.NET

        public ActionResult Create([Bind(Exclude="Id")] Movie movieToCreate)

        {
             if (!ModelState.IsValid)
                return View(); 

            _db.AddToMovieSet(movieToCreate);
            _db.SaveChanges(); 
            return RedirectToAction("Index");
        } 

Мой код LINQ

    public ActionResult Create([Bind(Exclude = "Id")] Movies movieToCreate)
    {
        if (!ModelState.IsValid)
        {
            return View();
        }
        _db_linq.Movies.InsertOnSubmit(movieToCreate);
        _db_linq.SubmitChanges();

        return RedirectToAction("Index");
    }

Но поле Id не исключено. Есть идеи? Спасибо!

1 Ответ

7 голосов
/ 28 мая 2009

Ваше свойство идентификатора, вероятно, является целым, и это не обнуляемый тип. И из-за этого, даже если это исключено при связывании, оно должно иметь значение. В этом случае он имеет значение по умолчанию своего типа, которое равно нулю.

Убедитесь, что вы правильно настроили свою базу данных, установив для свойства IsIdentity поля ID значение true и заново создайте свои классы LINQ.

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