【问题标题】:Solution structure using LINQ使用 LINQ 的解决方案结构
【发布时间】:2011-07-29 12:58:16
【问题描述】:

我的基本 ASP.NET 结构始终是 3 个项目

  • DAL = 数据访问层 - 处理 db
  • 业务逻辑层 - 处理所有操作和功能
  • 表示层 - 向网站展示数据

我是否需要更改我的基本结构,因为我想使用 LINQ to sql 进行开发?

用 LINQ to sql 开发的最佳结构是什么?

【问题讨论】:

  • 你是指LINQ本身,还是LINQ to SQL、LINQ to Entities?
  • 你的意思是LinQToSQL
  • 我不会在新项目中使用 linq to sql。因为它不再是微软战略。
  • LINQ to SQL 和 EF 特别适合这种结构,因为IQueryable<T> 链很容易维护all the way to the UI

标签: asp.net linq-to-sql


【解决方案1】:

没有。结构,可以保持不变。但我会改用实体框架,这就是微软在不久的将来推动的。

【讨论】:

    【解决方案2】:

    LINQ to SQL 是一个非常简单的 ORM,是数据库之上的一个薄层。
    因此,如果您决定在项目中使用它,请将其视为 DAL。

    【讨论】:

      【解决方案3】:

      无需更改项目的结构。您的 DAL 基本上变成了存放 LinqToSql 模型、类等的地方。
      像其他建议一样,您应该考虑实体框架 (LinqToEntities) 而不是不再开发的 LinqToSql。
      您可以阅读 Entity Framework here

      【讨论】:

        【解决方案4】:

        对于新项目,我会从这个结构开始,并根据需要适应需求:

        • C# POCO 域对象(也称为“业务”对象)
        • 实体框架 4.1 代码优先
        • WCF 网络服务
        • 使用 Razor 或 WebForms 的 ASP .NET MVC 3(如果您有非常令人信服的理由)

        您的 Web 应用程序应连接到 WCF 服务以进行数据访问。

        【讨论】:

        • 如果不是真的需要,我不会使用 WCF,因为它更安静更复杂。
        • @gsharp:以前设置起来要困难得多,但在最近的版本中,情况并非如此。根据我的经验,大多数项目最终都会在某个时候需要 WCF,所以我建议提前计划好它。不过,正如我所说 - 根据您的具体要求调整此大纲。
        • 您有使用实体框架 5 创建此结构的经验吗?我无法将 C# POCO 域对象与实体框架所在的位置分开......
        【解决方案5】:

        使用 POCO。

        如果您真的打算使用 LINQ to Sql,请使用它来填充 POCO。哎呀,使用你想要的任何东西,但将它们作为 POCO 发送回你的业务逻辑和 UI。如前所述,L2S 不再受到微软的“祝福”,这就是使用 POCO 的美妙之处。让我们面对现实吧,EF 不被“祝福”只是时间问题,下一件大事即将到来。

        如果您使用 POCO,您唯一需要更改的是您的 DAL 以及如何获取数据以创建您的 POCO。其他一切都将保持不变。

        【讨论】:

          猜你喜欢
          • 2019-03-06
          • 1970-01-01
          • 1970-01-01
          • 2015-12-15
          • 2015-06-08
          • 2010-10-16
          • 2011-12-24
          • 2010-09-05
          • 1970-01-01
          相关资源
          最近更新 更多