【问题标题】:Developing enterprise level application using LINQ使用 LINQ 开发企业级应用程序
【发布时间】:2010-03-07 18:12:23
【问题描述】:

使用 LINQ to SQL 可以加快应用程序开发速度,但会分解应用程序中的逻辑层。数据访问层和业务对象层几乎没有身份,它们位于同一个 dll 中。有没有人知道如何使用 LINQ to SQL 开发企业级应用程序。我们如何清晰地分离业务对象和 LINQ 生成的实体?他们将如何通信,数据将如何在我们的业务对象和 LINQ 实体之间传输。对此的任何文章或任何建议将不胜感激。谢谢。

【问题讨论】:

    标签: linq-to-sql architecture linq-to-entities


    【解决方案1】:

    我们正在将 L2S 用于管理我们工厂运营和相关应用程序的下一代软件。这是针对 $2.5B 薄膜太阳能公司的。我们已经构建了一个明确定义的基于 L2S 的 n 层应用框架。

    我们还创建了自己的代码生成器来生成应用程序实体集、L2S 实体集、业务逻辑层和数据访问层。 L2S 实体集仅供后端使用。应用程序实体(没有内置 L2S 管道)用于从应用程序到服务器来回传输数据。我们使用 WCF 进行应用程序层到服务器层的通信。

    我们的应用程序使用 WCF 调用后端业务逻辑层进行数据处理。业务逻辑层调用我们的数据访问层以进行基于 Linq 的低级数据访问。我们的应用程序实体传入和传出我们的后端。在后端,我们有非常高效的映射,将应用实体映射到每个 L2S 实体。

    对我们来说效果很好。

    兰迪

    【讨论】:

      【解决方案2】:

      您可以使用 L2S(正如 StackOverflow 所证明的那样)走得很远,但恕我直言,Linq2SQL 不太适合(我认为也不适合)“企业级应用程序”。

      现在 Entity Framework 4.0 已经发布,您可能需要考虑改用 EF。它支持 POCO,并且可以让您拥有更好的分层架构。

      退房:

      The ADO.NET Entity Framework

      ADO.NET C# POCO Entity Generator

      我最近将大量代码库从 L2S 移植到 EF 4.0。由于 EF 现在支持延迟加载,因此您可以非常顺利地从 L2S 过渡到 EF,仅在需要时才利用 EF 的高级功能。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多