我有一个返回IQueryable的查询,我的查询包含join。最终用户需要能够更新某些字段。记住这些字段不是来自1个表,而是2个连接的结果。
因此,我如何使用从查询返回的数据并更改它并更新回数据库?
我是否需要进行更多的2个选择查询,这些查询会明显返回LINQ2SQL CLASS,这样我就可以更改类中的值然后更新数据库?
我很困惑解决这个问题的最佳方法。
答案 0 :(得分:4)
当您想要更改某些数据时,需要使用LINQ to SQL为您生成的类。只有这样,LINQ to SQL知道改变了什么(更改跟踪)以及如何更新相应的数据库记录。换句话说,匿名对象或自定义对象的更改不会被注意到。然而,加入与它无关。
答案 1 :(得分:0)
如果有一些方法可以使用分组查询传递原始LINQ对象,则可以在那里更新对象,并且更改会持久保存到数据库中。否则,您无法将分组结果保留回数据库,并且需要查询您要更新的对象,如上所述。
HTH。