【问题标题】:linq design patternslinq 设计模式
【发布时间】:2011-01-11 10:56:52
【问题描述】:

我正在构建一个 ASP Web 应用程序,目前我有一个名为 Queries 的命名空间,其中包含从页面后面的代码调用的 linq 查询。整个网站最初将包含大约 40 个查询;稍后会添加更多内容。

我应该将所有查询保存在一个大型命名空间中,还是应该为每个页面的查询创建一个命名空间?例如,QueriesPageA、QueriesPageB、QueriesPageC...最终会得到大约 10 个较小的命名空间。

谢谢。

【问题讨论】:

    标签: linq design-patterns


    【解决方案1】:

    听起来你正在构建一个business logic layer

    如果您使用的是 LINQ to SQL 或 Entity Framework,那么您将已经拥有一组紧密代表您的业务领域的实体类。

    我更喜欢将我的查询作为静态方法添加到实体类中。这使我的查询保持整齐分布(因此我不会最终得到一个庞大的业务逻辑类)并且易于查找(检索一组用户的查询将存在于 User 类中)。

    如果查询生成汇总或报告(例如按年份分组的 cookie 销售量),那么我通常会为报告创建一个新类。这样,报告本身就成为了一个模型,它在 MVC 架构中运行良好,如果你正在考虑的话。

    【讨论】:

      【解决方案2】:

      我认为将它们分开是一个好主意,但是根据它们返回的数据而不是它们最初使用的页面来创建命名空间会更易读且不会造成混淆,例如MyApp.Queries.Customers,MyApp.Queries.Orders。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-16
        • 1970-01-01
        • 2011-10-20
        • 2013-08-27
        • 2012-04-14
        相关资源
        最近更新 更多