2011-05-26 74 views
0

這ž我在這裏的第一個問題和答案將高度讚賞插入數據,C#,LINQ to SQL中,在連接表

我有兩個表: -

Table1:  EMPLOYEE{eid int(PK,identity), ename varchar} 
Table 2: Sales {sid int(PK,identity), eid int(FK), totalsales money} 

我想用插入數據LINQsql

在此先感謝

回答

-2

它很可能是這樣的:

Employee employee = new Employee(); 

//populate Employee object 

db.Employees.Add(employee); 

編輯:然後添加員工後,填充銷售對象,並把它添加到數據庫,以及:

Sales sales = new Sales(); 

sales.eid = employee.id; 

db.Sales.Add(sales); 

iee先保存到Employee表中以獲取生成的Id。

欲瞭解更多信息,ScottGu's blog解釋得很好。

+0

thx。但我想插入數據在兩個表中,當身份自動增加時,我如何可以在表2中添加值。 – raza 2011-05-26 11:54:54

+0

請參閱我編輯的答案。我非常建議你閱讀ScottGu的博客。 – tobias86 2011-05-26 12:04:28

+0

這不是正確的做事方式。下面的Pleun使用鏈接的對象進行正確的操作。如果您同時添加父母和孩子,那麼在兩者之間進行保存是浪費的。幾乎總是如果你發現自己把外鍵分配給外鍵,你就錯了,讓框架爲你做連接。 – 2014-06-25 21:48:20

2

好吧,如果你有適當的外鍵,你可以一次全部保存這樣的(由心臟,所以請檢查拼寫正確,但你應該得到的作品)

Using (db = new yourdatacontext()) 
{ 
    Employee em = new Employee; 
    em.name = "somename"; 

    db.Employees.InsertOnSubmit(e); 

    Sales s = new Sales(); 
    s.totalsales = 10000; 
    em.Sales.Add(s) 

db.Submitchanges(); 

} 

從該保持的重要組成部分你不需要搞混PK或外鍵或身份。 Linq-to-sql將爲您處理所有這些事情。交易也保存在提交更改中。這就是Linq-to-sql的美麗