在linq to sql app中提交更改时,无法将新行插入子表

时间:2010-02-04 14:25:42

标签: c# linq-to-sql submitchanges

我无法弄清楚在子表中插入新记录的正确方法。

应用程序中有一个datacontext,目标表(CustNotes)是名为Customer的表的子项。 Customer和CustNotes之间存在一对多的关联。 datacontext名称是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 :(得分:0)

而不是:

notes.CustNotes.Add(newNote);

你应该这样做:

notes.CustNotes.InsertOnSubmit(newNote);