2011-05-26 55 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的美丽