Не удается вставить в таблицу с составным первичным ключом с помощью LINQ - PullRequest
0 голосов
/ 29 апреля 2018

Добавлено, что SqlConnection часть, как кто-то предлагает на этом сайте, но все еще получает исключение

Невозможно вставить явное значение для столбца идентификаторов, если идентификационная вставка выключена

на dv.SubmitChanges();

Составной первичный ключ состоит из stid и bookid.

Также, пожалуйста, скажите мне, как я могу сделать этот запрос без объединения значения текстового поля, т.е. bname.Text

using (SqlConnection conn = new SqlConnection(cs))
{
    conn.Open();

    using (DataClasses1DataContext dv = new DataClasses1DataContext())
    {
        var iq = (from b in dv.Books
                  where SqlMethods.Like(b.name, "%" + bname.Text + "%")
                  select b.Id).FirstOrDefault();

        IssueInfo info = new IssueInfo()
                             {
                                 stid = Convert.ToInt32(rollno.Text),
                                 due_date = Convert.ToDateTime(dateTimePicker1.Text),
                                 bookid = Convert.ToInt32(iq)
                             };

        dv.ExecuteCommand("SET IDENTITY_INSERT IssueInfo ON");
        dv.IssueInfos.InsertOnSubmit(info);
        dv.SubmitChanges();
        dv.ExecuteCommand("SET IDENTITY_INSERT IssueInfo OFF");
    }
}
...