【问题标题】:Migrate from DataSets to EntityFramework从 DataSet 迁移到 EntityFramework
【发布时间】:2012-03-16 03:25:37
【问题描述】:

我目前正在研究重构代码库的可能方法,以使其更易于使用。

该应用程序是相当大的 Asp.Net Webforms 应用程序,所有数据设置/检索都通过 Web 服务进行。目前,这些 Web 服务返回 DataSet,包含从存储过程返回的 1 个或多个表。代码库连接非常紧密,ASP 代码隐藏在多个位置调用 WebServices,大部分业务逻辑发生在代码隐藏或存储过程中。

一段时间以来,我们一直在寻找更新应用程序和现代化代码库的可能方法。我们不能(也不想)重新编写整个应用程序,但如果我们可以开始将它一点一点地移向更新的架构,那就太好了。我已经研究了MVP 架构,这似乎与我们当前的架构非常匹配——它不会涉及太多的重写,但仍然应该产生更多可测试的代码(另一个目标——我们目前有没有自动化测试)。

不过,我想知道是否有人有一些关于从 DataSets 迁移到 EntityFramework 的提示/信息/文章。我觉得这将为我们带来最大的优势,因为它可以让我们对数据进行建模并更轻松地对其进行测试。不幸的是,我还没有在网上找到任何关于这种迁移的信息。我们的数据库设计非常好(谢天谢地),但我们必须同时使用 DataSets 和 EntityFramework 一段时间,直到我们摆脱 DataSets - 我们不可能一次完成所有工作。

哪位大神可以给点建议?

【问题讨论】:

  • 你会继续使用WebServices返回当前DataSet形式的数据吗?还是您的应用会通过 EntityFramework 直接接触数据库?
  • @John 我认为我们仍然需要以某种方式使用 Web 服务。我们使用相同的 Web 服务来检索 Microsoft InfoPath 中的数据,我们也无法摆脱这些数据。

标签: asp.net entity-framework dataset


【解决方案1】:

听起来您需要解决两个不同的问题。

  1. 您如何在 Web 服务内部使用 EntityFramework。
  2. 其次,如何将这些结果传入和传出 Web 服务。

对于#1,我们只能猜测您当前实施的相关细节。不过,这可能是您可以搜索并找到帮助的常见更改。

对于#2,您可能想要定义一系列来回运行的业务对象。 Web 服务可以在它们和 EntityFramework 对象之间进行转换。 (您可能可以直接传递 EF 对象,但根据您的情况可能会出现问题。)

【讨论】:

  • 我很好奇您所指的“业务对象”是什么。你的意思是把它序列化成 XML/JSON,还是你指的是别的东西?
  • @a_m0d:“业务对象”只是具有属性的类。他们的传输方式(XML、JSON 等)是一个完全独立的问题。
  • 那么业务对象与 POCO 类有何不同?
  • @a_m0d:POCO 可以有任何目的。业务对象的目的是保存业务数据,并在实现业务规则的例程中使用。 (所以,差别不大。)
猜你喜欢
  • 2019-09-25
  • 1970-01-01
  • 2019-11-21
  • 2021-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多