невозможно вставить новую строку в дочернюю таблицу с помощью отправки изменений в приложении linq to sql - PullRequest
1 голос
/ 04 февраля 2010

Не могу найти правильный способ вставить новую запись в дочернюю таблицу.

В приложении есть один текстовый текст, и целевая таблица (CustNotes) является дочерней по отношению к таблице с именем Customer. Между Customer и CustNotes существует связь один ко многим. Имя текстового контекста: CustomerOrdersDataContext.

Вот код, который я использую:

private void Button_Click(object sender, RoutedEventArgs e)
    {   
       int newSeqNumber;
       FindID = (int)lstCustomerNames.SelectedValue;

               var CustNoteNum = 
                   (from c in dbC.CustNotes                          
                    where c.CustomerID == FindID
                    select new 
                    {c.NoteOrder}).Max(c => c.NoteOrder);

        newSeqNumber = CustNoteNum + 1;

        CustomerOrdersDataContext notes = new CustomerOrdersDataContext();

        CustNote newNote = new CustNote();

        newNote.Note = NewNote.Text;
        newNote.NoteOrder = (byte)newSeqNumber;
        newNote.CustomerID = FindID;

        ***notes.CustNotes.Add(newNote);***  
        notes.SubmitChanges();
    } 

Ошибка относится к жирной курсивной линии. Вот оно:

System.Data.Linq.Table 'не содержит определения для «Add», и нет метода расширения «Add», принимающего первый аргумент типа «System.Data.Linq.Table» (вы пропускаете используя директиву или ссылку на сборку?)

У кого-нибудь есть подсказка, которая поможет.

1 Ответ

0 голосов
/ 04 февраля 2010

Вместо:

notes.CustNotes.Add(newNote);

Вы должны сделать:

notes.CustNotes.InsertOnSubmit(newNote);
...