2010-11-18 132 views
1

我有一个数据库,我创建了一个dbml文件并将其删除。我可以得到这样的数据:Linq To SQL:插入数据

MyDBContext db = new MyDBContext(); 

var query = 
     (from lg in db.Languages 
     select lg).ToList<Languages>(); 

没问题,我得到的数据。

我想插入,我尝试这样做:

db.Languages.Add(new Language() { ..... }); 
db.SubmitChanges(); 

“添加”并不在方法列表中存在.....

什么解决的办法?

感谢,

PS:这是一个项目.NET 3.5与VS2010

+0

为什么.NET 3.5 VS2010?为什么不.net 4.0? – 2010-11-18 09:35:49

回答

4

而不是

db.Languages.Add(new Language() { ..... }); 

我想你想要这样的:

db.Languages.InsertOnSubmit(new Language() { ..... }); 
+0

何时引入此更改?在ScottGu博客上,他并没有使用你的语法......但是你的语法有效:) – 2010-11-18 09:48:08

+0

我不认为LINQ-to-SQL的产品版本中存在'Add'。如果是这样,MS可能会将其标记为“[Obsolete]”,而不是彻底删除它,否则它们将冒险破坏现有代码。也许该方法存在于早期的alpha版或beta版中,并在第一次发布之前进行了更改。 (只是猜测在这里。) – cdhowie 2010-11-18 17:58:25