仅使用存储过程访问具有合并复制的数据库是否有优势?



我有一个项目,其中sp是应用程序用来访问或修改Sql Server 2008数据库的唯一方式。我有开发人员要求放弃SP方法,让他们直接在DB上使用Linq to Sql。我必须决定是否允许。我必须添加另一条信息,项目正在增长,在不久的将来,我们可能需要第二台具有合并复制功能的Sql server机器。

我这么说是因为我相信(但我现在在互联网上找不到任何对此的支持)在合并复制场景中只使用SP方法是有益的,因为这将避免冲突并带来更好的性能。

这个说法有道理吗?你能链接到证明或反驳这一说法的参考资料吗?你怎么看?

这已成为作出决定的决定性因素。

我不认为存储过程或任何其他更改数据的方法在Merge Replication中是一个真正的因素,因为进行更新不会直接触发更改下推到分布数据库。

例如,如果您通过存储过程或Linq to Sql编辑一行,则更改跟踪,合并和发布是相同的。

有一个关于并发性问题的潜在问题,建议针对这个场景进行测试。

如果你正在使用Linq to SQL,你需要确保你了解语句将在什么时候执行——这不是Merge Replication所特有的。

我的最后一点是要照顾那些为了改变而改变的开发者。Linq to SQL会给您的特定应用程序带来什么好处?在选择Linq to SQL之前,您还考虑过哪些数据访问解决方案?

仅仅因为Linq to SQL对某些应用程序很好,这并不意味着它对每个应用程序都是完美的,这是我认为应该影响你的决定的。

就我个人而言,在您的情况下,我会保留存储过程,直到您完全隔离了您的数据访问-这是在此阶段更重要的任务。

最新更新