在遗留应用程序中混合现代数据访问
您对在遗留应用程序中使用现代数据访问技术有何看法?不是用新层替换数据访问层,而是在同一层中混合使用数据访问方法。
假设我的旧应用程序中的当前数据访问层使用 DataSet
、SQLDataAdapter
、SQLCommand
和 Stored Proc 来访问数据库中的数据。
是否有任何真正的原因不在 DAL 中包含 Linq to SQL (dbml) 或实体框架类 (edmx) 类?在 DAL 或同一类中混合使用数据访问方法有什么坏处吗?
What do you think of using modern data access technologies in legacy apps? Not replacing the data access layer with a new layer, but having a mix of data access methods in the same layer.
Say the current Data Access Layer in my legacy app uses DataSet
, SQLDataAdapter
, SQLCommand
and Stored Proc to access data from the database.
Are there any real reasons not to include Linq to SQL (dbml) or Entity Framework classes (edmx) classes in the DAL? Is there any harm in having a mix of Data Access Methods in the DAL, or in the same class?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一般来说,没有什么坏处,但除非您计划在进行新开发时通过替换部分遗留应用程序来进行缓慢升级,否则我不会这样做。它将使整个应用程序就像许多技术的一大堆乱七八糟的东西,维护会更差,而且它的设计/架构也会混乱。
例外情况可能是实现与其余部分隔离的应用程序的新组件。在这种情况下,您可能可以从头开始设计并使用更新的技术,但对于支持/维护团队来说,这仍然会很麻烦。
Generally there is no harm but unless you plan to do slow upgrade by replacing parts of legacy application when doing new development I would not do it. It will make the whole application like one big mess of many technologies, it will have worse maintenance and it can also mess its design / architecture.
The exception can be implementing new component of the application which is isolated from the rest. In such case you can probably design it from scratch and use newer technology but for support / maintenance team it can still be nuisance.