调用提交更改方法时如何在 LINQ to 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;
这是不可能的。
实际上,通过使用反射进行严重的令人讨厌的黑客攻击是可能的。您可以编译一个查询,然后在某个内部对象中修改生成的 SQL 字符串。这是最不理想的方法。
我建议您继续使用原始 SQL。
我一直听说这是不可能的。 Linq 的目标(或至少其中之一)是摆脱或关注 SQL,因此您不必担心此类问题。我建议您将带有表提示的代码添加到 SQL 过程中,并使用 Linq 来调用它。