使用Web API和数据库优先策略构建ASP.Net应用程序

时间:2012-11-16 00:30:26

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

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

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

我考虑过使用Web API和Entity Framework的新MVC 4。有许多关于代码第一数据访问模式的示例和示例,但关于数据库优先的很少。

任何人都可以帮忙解决如何使用数据库优先实现这一点以及实体框架和存储库模式吗?

2 个答案:

答案 0 :(得分:5)

您所描述的内容(CRUD操作,SQL Server,实体框架)是MVC4项目的假设默认值。在给定数据库优先方法的情况下,这应该非常简单。

  1. 在Visual Studio中创建MVC4项目
  2. Models文件夹下,创建一个新的Entity Framework类(ADO.Net实体框架模型)。选择“从数据库生成”并按照说明进行操作
  3. 构建项目
  4. 右键单击Controllers文件夹并添加新控制器。选择“具有读/写操作和视图的MVC控制器,使用实体框架”。对于Model类,选择要定位的表实体。对于Data上下文类,请选择您在步骤2中创建的Entity Framework类。
  5. 就是这样。您应该能够运行项目并使脚手架CRUD表单完全可操作(导航到/ YourControllerName以查看表中的行列表)。您可以根据需要重复步骤4以添加其他表控制器。

答案 1 :(得分:4)

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

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

  1. 不学习VB,学习C#。周围的VB样本很少。

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

  3. 如果你想远程浮华,你需要使用JQuery - 这基本上是一个javascript库。 MVC / ASP.Net几乎没有提供交互式网格和页面的方式。

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

  5. 模型(MVC中的M,通常由某些代码生成工具(如Entity Framework为您生成,直接映射到表))

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

    控制器(MVC中的C)

    查看(MVC中的视图)

    Javascript(如果你想要一个基本的HTML表单之外的东西,比如你需要使用javascript的网格或日期选择器)

    就像我说的,我很高兴能够纠正这些问题。这只是我在旅程的这个阶段的观点。我不得不说我只调查jqGrid作为一个网格解决方案,我只是准备尝试别的东西了。