не удается вставить новую строку в дочернюю таблицу с отправкой изменений в приложении linq to sql

Я не могу понять, как правильно вставить новую запись в дочернюю таблицу.

В приложении есть один контекст данных, а целевая таблица (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» (вы пропустили директиву using или ссылка на сборку?)

У кого-нибудь есть ключ, который поможет.


person Jack McG    schedule 04.02.2010    source источник


Ответы (1)


Вместо:

notes.CustNotes.Add(newNote);

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

notes.CustNotes.InsertOnSubmit(newNote);
person Keltex    schedule 04.02.2010
comment
Потрясающая помощь. Спасибо. Это не только сработало, но и выявило еще одну ошибку... newNote.Note = NewNote.Text; должно было быть newNote.Note = newNoteText.Text; - person Jack McG; 04.02.2010