此Web应用程序演示如何使用Entity Framework 6和Visual Studio 2015创建ASP.NET MVC 5应用程序。本教程使用“Code First ”即代码先行。有关如何在“Code First”,“Database First”和“Model First”之间进行选择,请参阅实体框架开发工作流程。如下:

MVC5使用EF6 Code First--创建EF数据模型(一)

  • Database First

    如果已经拥有数据库,Visual Studio中内置的Entity Framework设计器可以自动生成一个数据模型,该模型由对应于现有数据库对象(如表和列)的类和属性组成。有关数据库结构,数据模型及映射之间的信息以XML格式存储在.edmx文件中。实体框架设计器提供了一个可视化界面,您可以使用它来显示和编辑.edmx文件。

  • Model First

    如果您还没有数据库,则可以使用Visual Studio中的Entity Framework设计器在.edmx文件中创建一个模型。当模型建完后,可以执行.edmx文件来创建数据库。

  • Code First

    无论您是否拥有数据库,都可以使用Code First。如果没有数据库,可以编写类和对应于表和列的属性。如果有数据库,那么Entity Framework可以生成与现有表和列对应的类和属性。如果使用Code First创建数据库,则可以使用“migration(迁移)”来将数据库部署到生产环境。当数据模型更改时,可以将更改部署到生产环境中,而不改变原有的数据。

Contoso University Web应用程序

此教程中构建的应用程序是一个简单的web网站。
用户可以查看和更新学生课程和教师信息。以下是创建的几个页面。

MVC5使用EF6 Code First--创建EF数据模型(一)

MVC5使用EF6 Code First--创建EF数据模型(一)

创建一个MVC Web应用程序

打开Visual Studio 2015并创建一个名为“EFDemo”的新C# Web项目。

MVC5使用EF6 Code First--创建EF数据模型(一)

在“ 新建ASP.NET项目”对话框中,选择MVC模板。

更改身份验证,改为不进行身份验证(N)。

MVC5使用EF6 Code First--创建EF数据模型(一)

MVC5使用EF6 Code First--创建EF数据模型(一)

单击“ 确定”创建项目。

做几个简单的更改。打开视图\ Shared \ _Layout.cshtml,并进行以下更改,如下图出显示:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <meta charset="utf-8" />
 6     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 7     <title>@ViewBag.Title - Contoso University </title>
 8     @Styles.Render("~/Content/css")
 9     @Scripts.Render("~/bundles/modernizr")
10 </head>
11 <body>
12     <div class="navbar navbar-inverse navbar-fixed-top">
13         <div class="container">
14             <div class="navbar-header">
15                 <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
16                     <span class="icon-bar"></span>
17                     <span class="icon-bar"></span>
18                     <span class="icon-bar"></span>
19                 </button>
20                 @Html.ActionLink("Contoso University ", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
21             </div>
22             <div class="navbar-collapse collapse">
23                 <ul class="nav navbar-nav">
24                     <li>@Html.ActionLink("主页", "Index", "Home")</li>
25                     <li>@Html.ActionLink("关于", "About", "Home")</li>
26                     <li>@Html.ActionLink("学生", "Index", "Student")</li>
27                     <li>@Html.ActionLink("课程", "Index", "Course")</li>
28                     <li>@Html.ActionLink("老师", "Index", "Instructor")</li>
29                     <li>@Html.ActionLink("部门", "Index", "Department")</li>
30                 </ul>
31             </div>
32         </div>
33     </div>
34     <div class="container body-content">
35         @RenderBody()
36         <hr />
37         <footer>
38             <p>&copy; @DateTime.Now.Year - Contoso University </p>
39         </footer>
40     </div>
41 
42     @Scripts.Render("~/bundles/jquery")
43     @Scripts.Render("~/bundles/bootstrap")
44     @RenderSection("scripts", required: false)
45 </body>
46 </html>

Views \ Home \ Index.cshtml中,使用以下代码替换原有内容:

 1 @{
 2     ViewBag.Title = "Home Page";
 3 }
 4 
 5 <div class="jumbotron">
 6     <h1>Contoso University </h1>
 7 </div>
 8 <div class="row">
 9     <div class="col-md-4">
10         <h2>Welcome to Contoso University </h2>
11         <p>
12             Contoso University is a sample application that
13             demonstrates how to use Entity Framework 6 in an
14             ASP.NET MVC 5 web application.
15         </p>
16     </div>
17     <div class="col-md-4">
18         <h2>Build it from scratch</h2>
19         <p>You can build the application by following the steps in the tutorial series on the ASP.NET site.</p>
20         <p><a class="btn btn-default" href="http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/">See the tutorial &raquo;</a></p>
21     </div>
22     <div class="col-md-4">
23         <h2>Download it</h2>
24         <p>You can download the completed project from the Microsoft Code Gallery.</p>
25         <p><a class="btn btn-default" href="http://code.msdn.microsoft.com/ASPNET-MVC-Application-b01a9fe8">Download &raquo;</a></p>
26     </div>
27 </div>
\Home\Index.cshtml

相关文章: