如何在Linq中使用表提示来实现sql

时间:2012-03-31 20:02:43

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

当调用提交更改方法

时,如何在Linq中使用表提示sql
dataContext.table2.something = dataContext.table1.something;
dataContext.SubmitChanges();    

我想像这个sql代码一样使用它:

declare @var int;
begin transaction
select @var = something from table1 with (HoldLock);
update table2 set something = @var;
update table1 set something = @var + 1;
commit transaction;

2 个答案:

答案 0 :(得分:2)

这是不可能的。

实际上,通过使用反射进行严重讨厌的黑客攻击是可能的。您可以编译查询,然后在某个内部对象中调整生成的SQL字符串。这是最不可取的方法。

我建议您继续使用原始SQL。

答案 1 :(得分:1)

我一直听说不能这样做。 Linq的目标(或者至少其中一个)是SQL的结果,所以你不必担心这样的事情。我建议您将带有表提示的代码添加到SQL过程中,并使用Linq来调用它。