更新LINQ to SQL,但我的查询来自连接?无法使用使用连接的查询进行更新?

时间:2010-12-20 14:23:49

标签: c# linq linq-to-sql join

我有一个返回IQueryable的查询,我的查询包含join。最终用户需要能够更新某些字段。记住这些字段不是来自1个表,而是2个连接的结果。

因此,我如何使用从查询返回的数据并更改它并更新回数据库?

我是否需要进行更多的2个选择查询,这些查询会明显返回LINQ2SQL CLASS,这样我就可以更改类中的值然后更新数据库?

我很困惑解决这个问题的最佳方法。

2 个答案:

答案 0 :(得分:4)

当您想要更改某些数据时,需要使用LINQ to SQL为您生成的类。只有这样,LINQ to SQL知道改变了什么(更改跟踪)以及如何更新相应的数据库记录。换句话说,匿名对象或自定义对象的更改不会被注意到。然而,加入与它无关。

答案 1 :(得分:0)

如果有一些方法可以使用分组查询传递原始LINQ对象,则可以在那里更新对象,并且更改会持久保存到数据库中。否则,您无法将分组结果保留回数据库,并且需要查询您要更新的对象,如上所述。

HTH。