Для ASP.NET MVC IDENTITY_INSERT установлено значение OFF - PullRequest
3 голосов
/ 05 января 2011

В моем HomeController есть следующий код:

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

        [ValidateInput(false)]
        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Create([Bind(Exclude = "Id")]Article articleToCreate)
        {
            if (!ModelState.IsValid)
                return View();

            try
            {
                _db.AddToArticleSet(articleToCreate);
                articleToCreate.posted = DateTime.Now;
                _db.SaveChanges();

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

И это представление для метода создания

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Create
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <div id="create">

        <h2>Create News Article <span>( <%=Html.ActionLink("Cancel", "Index") %> )</span></h2>

        <% using (Html.BeginForm()) {%>

            <fieldset>
                <legend>Fields</legend>
                <p>
                    <label for="headline">Headline</label>
                    <%= Html.TextBox("headline") %>
                </p>
                <p>
                    <label for="story">Story <span>( HTML Allowed )</span></label>
                    <%= Html.TextArea("story") %>
                </p>
                <p>
                    <label for="image">Image URL</label>
                    <%= Html.TextBox("image") %>
                </p>
                <p>
                    <input type="submit" value="Post" />
                </p>
            </fieldset>

        <% } %>

    </div>
    <!-- END div#create -->

</asp:Content>

Проблема, с которой я сталкиваюсь, когда пытаюсь отправить данные, - это InnerException, говорящая о том, что IDENTITY_INSERT выключен. Однако для идентификатора в моей таблице статей (которая называется storyId) задано значение «Автоинкремент», а также в качестве идентификатора, а также первичного ключа / индекса.

Как мне исправить эту проблему? Спасибо.

1 Ответ

3 голосов
/ 05 января 2011

Вы создали файл Linq To SQL DBML, а затем изменили схему базы данных на все для автоматического увеличения?Я думаю, что вы, возможно, изменили схему, но забыли обновить конструктор linq.

Просто удалите таблицу в конструкторе и перетащите ее из базы данных.

...