【问题标题】:Connect to SQL Server from ASP.NET MVC application从 ASP.NET MVC 应用程序连接到 SQL Server
【发布时间】:2015-04-22 13:42:57
【问题描述】:

我对 ASP.NET MVC 完全陌生。我有一个具有以下架构的 ASP.NET 2.0 Framework Web 应用程序

  • 基于 Web 的应用程序 3 - 层架构
  • 数据访问层 C#、ADO.NET
  • 数据库 – SQL Server 2008 R2
  • 身份验证 - 表单

我正在将应用程序迁移到 ASP.NET MVC 4 架构;任何人都可以建议数据访问层的最佳实践,假设连接字符串将在web.config

代码优先?还是数据优先的方法?上面的方法和Entity Framework有什么区别?

在为模型添加控制器的同时,我需要在以下模板中选择哪个?

  1. 空的 ASP.NET MVC 控制器
  2. ASP.NET MVC 控制器使用实体框架进行读/写操作
  3. 具有空读/写操作的 ASP.NET MVC 控制器
  4. 空 API 控制器
  5. 使用实体框架进行读/写操作的 API 控制器
  6. 具有空读/写操作的 API 控制器

以上模板有什么区别?

【问题讨论】:

  • 在指定/谈论 mvc 时,不要将其写成 mvc4,因为 mvc 只是一种设计模式,没有版本。嗯,有基于它的框架,所以用它们来代替 mvc4。
  • 如果您要迁移旧版应用程序,您可能需要考虑将 Code First 迁移到现有数据库。有一些工具可以对所需的类进行逆向工程 (weblogs.asp.net/scottgu/…)。

标签: c# asp.net sql-server asp.net-mvc entity-framework


【解决方案1】:

根据我的经验,我建议先使用 DB,但这可能取决于您的实际实现。

DB Frist:从您的数据库生成模型。当您更改表格等时,您只需更新您的模型。

Code First:从模型类创建数据库。当需要更新时,您可能需要编写更新脚本来删除并重新创建您的数据库。

关于您的数据访问,如果您不熟悉,我建议您查看实体框架。

关于控制器模板,您可以选择2。用 EF 读/写。 这将为您的模型创建 CRUD 方法。如果您决定不使用 EF,则可以选择 EmptyEmpty Read/Write。所有模板都为您提供了创建/更新/删除方法,您可以根据需要进行更改。

在测试应用程序中尝试一下 - 一旦您看到了 MVC 和 EF 的魔力,您应该会很自在地做出这些决定。

【讨论】:

【解决方案2】:

好的,我有满足我对数据访问层要求的示例演示项目,但我不确定他们在该示例项目中实施了什么方法。如何在 MVC 中找到现有设计的数据访问层?是否使用了代码/数据优先方法和控制器模板?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2012-08-17
    • 2023-03-12
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多