【问题标题】:Build ASP.Net application with Web API and database first strategy使用 Web API 和数据库优先策略构建 ASP.Net 应用程序
【发布时间】:2012-11-16 00:30:25
【问题描述】:

我是 ASP.NET MVC 4 和 Web API 的新手。

我想要实现的是创建一个 CRUD Web 应用程序,它能够在一个简单的现有 SQL Server 2008 数据库中操作数据表。

我想到了带有 Web API 和实体框架的新 MVC 4。关于代码优先数据访问模式的示例和示例很多,但关于数据库优先的示例和示例很少。

任何人都可以提供任何简单的想法,如何通过数据库优先和实体框架和存储库模式来实现这一点?

【问题讨论】:

  • 您可以通过定义存储库接口和存储库的 EF 实现来实现此目的。然后,您将存储库注入您的 API 控制器,并且您的 CRUD 控制器操作方法将对存储库进行调用以检索和持久化资源。

标签: asp.net asp.net-mvc entity-framework asp.net-web-api crud


【解决方案1】:

您所描述的(CRUD 操作、SQL Server、实体框架)是 MVC4 项目的假定默认值。考虑到数据库优先的方法,这对您来说应该非常简单。

  1. 在 Visual Studio 中创建 MVC4 项目
  2. Models 文件夹下,创建一个新的实体框架类(ADO.Net 实体框架模型)。选择“从数据库生成”并按照说明进行操作
  3. 构建项目
  4. 右键单击Controllers 文件夹并添加一个新控制器。选择“具有读/写操作和视图的 MVC 控制器,使用实体框架”。对于 Model 类,选择要定位的表实体。对于数据上下文类,选择您在第 2 步中创建的实体框架类。

就是这样。您应该能够运行该项目并让 CRUD 表单完全可操作(导航到 /YourControllerName 以查看表中的行列表)。您可以根据需要重复第 4 步来添加其他表格控制器。

【讨论】:

    【解决方案2】:

    几个月前我开始走这条路:学习 ASP.Net、MVC3,使用现有数据库构建 App。

    这是我发现的(很高兴得到纠正):

    1. 别学 VB,学 C#。周围的 VB 示例很少。

    2. 我遵循了“数据库优先”教程。网上有很多教程,上手跟着一个,不要害怕重新开始

    3. 如果你想要任何远程华丽的东西,你需要使用 JQuery - 这基本上是一个 javascript 库。 MVC / ASP.Net 提供的交互式网格和页面方式非常少。

    4. 事实证明,MVC 有点用词不当。通常你需要 5 层,而不是 3 层:

    Model(MVC中的M,一般由Entity Framework等代码生成工具为你生成,直接映射到表)

    ViewModel(自动生成的表类周围的包装类,可添加更多有用的数据)——这篇文章是我遇到它们的地方: MVC dbContext find parent record when current record has no elements

    控制器(MVC 中的 C)

    视图(MVC 中的视图)

    Javascript(如果您需要基本 HTML 表单之外的任何内容,例如网格或日期选择器,则需要使用 javascript)

    就像我说的,我很高兴在这些问题上得到纠正。这只是我在这个旅程阶段的观点。我不得不说我只是将 jqGrid 作为网格解决方案进行了研究,我正准备尝试其他方法。

    【讨论】:

    • 感谢您的详细解答!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    • 2018-02-17
    • 2017-04-07
    • 1970-01-01
    相关资源
    最近更新 更多