我有一些SQL标量值函数和一些存储过程来执行我从许多其他存储过程和c#代码中的SqlCommands
调用的一些任务。不久前,我开始在某些部分使用EF,现在我在一个助手类中用c#编写了一些方法,这些方法与那些常见的SQL函数和存储过程做同样的事情。所以基本上我有很多方法写了两次,T-SQL和c# (EF+Linq)。我不能放弃SQL,因为它们在其他存储过程中使用!
在这种情况下,避免双重工作并将旧的TSQL转换为Linq的最佳实践是什么(如果我应该这样做的话)?
将该功能放在一个SQL函数中,每个人都调用该函数。在你的c#代码中,你可以有一个辅助函数来为你调用这个函数,这个函数也可以在任何地方使用。