我尝试在我的WPF应用程序中使用LINQ to SQL向SQLServer db表添加记录,但总是会收到有关缺失指令的错误。通常intellisense会对这个问题给出一个暗示,但这次不是。这里我的代码包含所有指令:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Collections.ObjectModel;
...
...
DateTime newdate = new DateTime(2010, 2, 1);
TimeSpan newtime = new TimeSpan(12, 00, 00);
MyfirstdbDataContext context = new MyfirstdbDataContext();
Meeting meeting = new Meeting();
meeting.MeetID = "01.02.10_12:00";
meeting.Date = newdate;
meeting.Time = newtime;
context.Meetings.Add(meeting); // Here I get the debugger error
context.SubmitChanges();
我收到了这个错误:
System.Data.Linq.Table'不包含'Add'的定义,也没有扩展方法'Add'接受'System.Data.Linq.Table'类型的第一个参数可能是发现(您是否缺少使用指令或程序集引用?)
请问,我的代码有什么问题?
答案 0 :(得分:8)
正确的语法是:
context.Meetings.InsertOnSubmit(meeting);
答案 1 :(得分:7)
您不应该收到调试器错误。您应该收到编译时错误,因为没有Table.Add
方法。在LINQ to SQL最终确定之前发布的一些书籍/博客(特别是Scott Guthrie的LINQ to SQL tutorial)将使用此语法,但它被Table.InsertOnSubmit
取代。用以下代码替换您的代码:
context.Meetings.InsertOnSubmit(meeting);
以下是Add
重命名为InsertOnSubmit
的公告:LINQ: "Add" renamed to "InsertOnSubmit"
答案 2 :(得分:0)
您需要使用语句添加System.Data.Linq。