如何在 LINQ to SQL 中使用表提示

问题描述 投票:0回答:2

调用提交更改方法时如何在 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;
c# sql-server linq-to-sql query-optimization
2个回答
3
投票

这是不可能的。

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

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


1
投票

我一直听说这是不可能的。 Linq 的目标(或至少其中之一)是摆脱或关注 SQL,因此您不必担心此类问题。我建议您将带有表提示的代码添加到 SQL 过程中,并使用 Linq 来调用它。

© www.soinside.com 2019 - 2024. All rights reserved.