2009-06-29 182 views
0

我一直在尋找如何做的LINQ插入到SQL爲例,這裏是它說:LINQ to SQL插入問題。 。

NorthwindDataContext context = new NorthwindDataContext(); 
context.Products.Add(new Product(..)); 
context.SubmitChanges(); 

,但是當我看到下面的,(在我的表是的UserInfo)該表沒有「添加」方法:

public System.Data.Linq.Table<UserInfo> UserInfos 
    { 
     get 
     { 
      return this.GetTable<UserInfo>(); 
     } 
    } 

任何線索我在做什麼錯在這裏?

回答

2

您應該使用InsertOnSubmit方法:

NorthwindDataContext context = new NorthwindDataContext(); 
context.Products.InsertOnSubmit(new Product(..)); 
context.SubmitChanges(); 

Add方法在EntitySet的成員存在,增加兒童實體父之一,當大多使用,例如:

var category = new Category{ Name = "Breveages"}; 


category.Products.Add(new Product{ Name = "Orange Juice"}); 
category.Products.Add(new Product{ Name = "Tomato Juice"}); 
category.Products.Add(new Product{ Name = "Cola"}); 

//... 

context.Categories.InsertOnSubmit(category); 
             // This will insert the Category and 
             // the three Products we associated to. 

編輯:要執行更新操作,您只需通過查詢或附加它來檢索實體,例如:

var customer = context.Customers.Single(c => c.CustomerID == "ALFKI"); 

customer.ContactName = "New Contact Name"; 
context.SubmitChanges(); 

DataContext的跟蹤其相關實體的變化和當的SubmitChanges方法被調用時,它會檢測到變化,並生成場景做更新操作後面的更新SQL語句...

+0

謝謝 。 。這工作,但現在我意識到,我不想添加一個新的,而是更新現有的。 。更新現有記錄的方法是什麼。 – leora 2009-06-29 01:47:27