【问题标题】:Using a DataSet instead of custom business entities in soa and n-tier architecture在 soa 和 n 层架构中使用 DataSet 而不是自定义业务实体
【发布时间】:2010-03-26 20:18:19
【问题描述】:

我正在开发一个使用 n-tire 应用程序架构设计的大型和高容量事务性企业应用程序。它是在 .NET 平台上使用 C#、VB.NEt、Framework 3.5、ObjectDataSources、DataSet 开发的, WCF, asp.net 更新面板, JavaScript ,JSON, 3rd Party 工具。该应用程序应该实现真正可扩展/易于维护/健壮的应用程序/集成,并确保使用其他系统可以理解的格式创建我的服务。

问题是,这个应用程序大约完成了 70%,但现在我想知道以下是否会导致我们未来出现问题,

我正在使用 DataSet 和 DataTable 来(获取/设置)数据(表单/到)使用 ObjectDataSources 存储在数据库中的过程,我想知道这是否会阻止我的应用程序实现上述目标。其实,我并不反对OO。我为不同的目的编写了很多类,但我没有使用实体对象(自定义业务实体)而不是以前的方式,因为我有一个可能包含 50 个表的大型数据库,我只是害怕为每个表创建实体然后将来如果我需要更改数据库的架构,可能会对应用程序造成巨大影响?

【问题讨论】:

    标签: .net architecture


    【解决方案1】:

    如果您使用实体框架,您的实体模型不需要一对一匹配您的数据库架构。这应该允许您在数据库更改时保持实体模型稳定。

    从服务返回 DataSet 有几个问题。其中,只有 .NET 客户端才能理解它。还有其他的,包括它浪费空间并且通常在序列化时包含架构。

    【讨论】:

    • 是 EF 而不是自定义业务实体??我是否应该更改应用程序以使用 EF,我只是害怕丢失以前的工作,,,,
    • @kathy:EF 可以为您的自定义业务实体提供基础。它将创建一个具有适当属性的基本类,您可以通过部分类添加业务逻辑。我建议您查看 EF,也许可以使用您的数据库的一小部分进行尝试。然后看看它是否足够容易使用。最后,看看将现有代码切换到 EF 有多难。
    猜你喜欢
    • 2023-03-27
    • 2012-03-04
    • 1970-01-01
    • 2013-10-12
    • 1970-01-01
    • 2013-02-21
    • 2017-07-05
    • 2012-03-08
    • 2015-07-30
    相关资源
    最近更新 更多