当调用提交更改方法
时,如何在Linq中使用表提示sqldataContext.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;
答案 0 :(得分:2)
这是不可能的。
实际上,通过使用反射进行严重讨厌的黑客攻击是可能的。您可以编译查询,然后在某个内部对象中调整生成的SQL字符串。这是最不可取的方法。
我建议您继续使用原始SQL。
答案 1 :(得分:1)
我一直听说不能这样做。 Linq的目标(或者至少其中一个)是SQL的结果,所以你不必担心这样的事情。我建议您将带有表提示的代码添加到SQL过程中,并使用Linq来调用它。