应用程序严重依赖于存储过程

时间:2010-03-25 12:46:39

标签: .net architecture

我们目前有一个主要依赖于存储过程的应用程序。临时表的使用很多。这是一个非常大的应用程序。

面对这种情况,我想使用Entity Framework或Linq2Sql进行重写。我可能会考虑使用Fluent Hibernate或Subsonic,因为我过去曾广泛使用它们。

由于临时表的使用,我在使用Linq2Sql生成存储过程的返回类型时遇到了问题,我认为将所有存储过程从临时表更改为内存表是很麻烦的。 / p>

考虑到我想要做出的两个选择,2中哪一个是最佳选择,为什么?如果我的选择非常愚蠢,请提供替代方案。

编辑: 问题和变化的原因是数据访问层不存在并且是在10年前构建的。我们目前仍然遇到很多问题。我不想透露太多,但如果你看到它,你的眼睛会开始流血:)。

2 个答案:

答案 0 :(得分:4)

这可能不是您所追求的答案,但听起来这主要是将相关代码隔离到“新”数据访问层。

如果通过接口抽象出数据访问,则可以使用您喜欢的任何数据访问实现。我只是不确定这与Enity Framework之类的内容有什么关系。

我采取这条道路的原因是它允许一个非常好的干净分离关注点,使得应用程序随着时间的推移更容易使用,并且它不会以牺牲性能为代价(根据我的经验)

作为第一步 - 而不是重写,我希望这样做 - 只需获取一个数据层,并抽象出来,以便你可以使用它。

与此同时,您可以使用Enity Framework之类的功能进行一些概念验证工作,这样当您准备重构新的DAL时,您就可以获得可靠的信息来做出决定。

请记住,“执行素质”需要与“进化”素质相平衡:)

答案 1 :(得分:0)

你有没有想过LLBLGen Pro?这是一个商业解决方案,但相当便宜,我相信它比这两个替代方案要好得多。我认为Frans Bouma实际上也是SO用户,但他们的论坛也非常有用。