基于Asp.Net Core Mvc和EntityFramework Core 的实战入门教程系列-1-阿里云开发者社区

开发者社区> wer_ltm> 正文

基于Asp.Net Core Mvc和EntityFramework Core 的实战入门教程系列-1

简介: 来个目录吧:第一章-入门第二章- Entity Framework Core Nuget包管理第三章-创建、修改、删除、查询第四章-排序、过滤、分页、分组第五章-迁移,EF Core 的codefirst使用 暂时就这么多。
+关注继续查看

来个目录吧:
第一章-入门
第二章- Entity Framework Core Nuget包管理
第三章-创建、修改、删除、查询
第四章-排序、过滤、分页、分组
第五章-迁移,EF Core 的codefirst使用
暂时就这么多。后面陆续更新吧

本系列文章为翻译加上我个人的使用心得理解,希望帮助热爱学习的程序员。

珍重声明:本系列文章会跟原文有点出入,去掉了罗里吧嗦的文字。

原文:Getting started with ASP.NET Core MVC and Entity Framework Core using Visual Studio

2017-3-7 22:01:58这个时间是我开始翻译本系列的时间也是vs2017发布会的时间。祝愿.Net Core越来越好

前言

Contoso 大学示例项目是一个 基于Visual Studio 2015开发,使用技术是.net core 1.0mvc与EntityFramework Core1.0。
功能说明:
本程序是一个虚构的Contoso大学网站,他包含了招生、课程管理、老师管理等功能。这是一个系列教程,讲述如果从零开始构建一个Contoso大学程序。

EF Core1.0 是EF的最新版本,但是他没有具备所有的EF6.X的功能。(译者注: 所以你们用的时候自己遇到的坑要自己填)

系统必备组件:

  • Visual Studio 2017 (译者注:我们肯定用2017了啊是不是)
  • .Net Core 1.1

Contoso 大学 Web程序

以下为正文,原作者罗里吧嗦的话语我就不说了。基本就是用户可以查看和修改学生、课程、老师的信息。
以下是截图:

img_e4fd2ef93f0ed90ebd090fed8340a29e.png
Paste_Image.png
img_c594b280188579698f3de985c8e7cb47.png
Paste_Image.png

为了本教程可以集中主要精力介绍如何使用EntityFramework,网站的用户界面样式都是基于VS2015内置的模板生成的页面内容。

创建一个ASP.NET Core MVC的项目

我都用VS2017 RTM开发了。

打开Visual Studio 2017并创建一个新的ASP.NET Core MVC项目,取个名字:“ContosoUniversity”。

  • 文件菜单中,选择新建项目
  • 从左边窗口中选择Web
  • 选择ASP.NET Core Web Application (.NET Core)项目
  • 输入“ContosoUniversity”作为名称并且点击确定

老外耐心就是好,写的这么详细一点都不嫌累

img_fafe375adbdf622f296d2c16f17a3754.png
Paste_Image.png

然后点击更改身份验证为不进行身份验证,取消在云中托管,然后点击确定

这里可以选择.NETCORE 1.1

img_7242f8737ff4b055bc1559d4ba6b8738.png
Paste_Image.png

如果你不小心点了启用身份认证的话,那么就把 项目删除了吧。Microsoft Identity的模块我空了,抽空在单独翻译翻译吧,现在我们继续。

修改下网站的布局和风格

简单调整下菜单布局、首页视图信息

打开 路径为“Views/Shared/_Layout.cshtml ”

  • 修改下标题名称“ContosoUniversity” 为“Contoso University”
  • 添加菜单导航视图信息,Students,Courses,Instructors和Departments然后删除Contant菜单


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewData["Title"] - Contoso University</title> 

    <environment names="Development">
        <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
        <link rel="stylesheet" href="~/css/site.css" />
    </environment>
    <environment names="Staging,Production">
        <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/css/bootstrap.min.css"
              asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
              asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
        <link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
    </environment>
</head>
<body>
    <div class="navbar navbar-inverse navbar-fixed-top">
        <div class="container">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a asp-area="" asp-controller="Home" asp-action="Index" class="navbar-brand">Contoso University</a>
            </div>
            <div class="navbar-collapse collapse">
                <ul class="nav navbar-nav">
                    <li><a asp-area="" asp-controller="Home" asp-action="Index">Home</a></li>
                    <li><a asp-area="" asp-controller="Home" asp-action="About">About</a></li>
                    <li><a asp-area="" asp-controller="Students" asp-action="Index">Students</a></li>
                    <li><a asp-area="" asp-controller="Courses" asp-action="Index">Courses</a></li>
                    <li><a asp-area="" asp-controller="Instructors" asp-action="Index">Instructors</a></li>
                    <li><a asp-area="" asp-controller="Departments" asp-action="Index">Departments</a></li>
                </ul>
                @await Html.PartialAsync("_LoginPartial")
            </div>
        </div>
    </div>
    <div class="container body-content">
        @RenderBody()
        <hr />
        <footer>
            <p>© 2016 - Contoso University</p>
        </footer>
    </div>

    <environment names="Development">
        <script src="~/lib/jquery/dist/jquery.js"></script>
        <script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
        <script src="~/js/site.js" asp-append-version="true"></script>
    </environment>
    <environment names="Staging,Production">
        <script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js"
                asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
                asp-fallback-test="window.jQuery">
        </script>
        <script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/bootstrap.min.js"
                asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js"
                asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal">
        </script>
        <script src="~/js/site.min.js" asp-append-version="true"></script>
    </environment>

    @RenderSection("scripts", required: false)
</body>
</html>

在 路径“Views/Home/Index.cshtml”,Home视图中替换为以下代码信息

@{
    ViewData["Title"] = "Home Page";
}

<div class="jumbotron">
    <h1>Contoso University</h1>
</div>
<div class="row">
    <div class="col-md-4">
        <h2>Welcome to Contoso University</h2>
        <p>
            Contoso University is a sample application that
            demonstrates how to use Entity Framework Core 1.0 in an
            ASP.NET Core MVC 1.0 web application.
        </p>
    </div>
    <div class="col-md-4">
        <h2>Build it from scratch</h2>
        <p>You can build the application by following the steps in a series of tutorials.</p>
        <p><a class="btn btn-default" href="https://docs.asp.net/en/latest/data/ef-mvc/intro.html">See the tutorial »</a></p>
    </div>
    <div class="col-md-4">
        <h2>Download it</h2>
        <p>You can download the completed project from GitHub.</p>
        <p><a class="btn btn-default" href="https://github.com/aspnet/Docs/tree/master/aspnet/data/ef-mvc/intro/samples/cu-final">See project source code »</a></p>
    </div>
</div>

然后按键CTRL+F5,运行项目进入调试模式。你可以看到主页页面的变化

img_5c2f28db4e7f1224177d4153bf7e6cb2.png
Paste_Image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java NIO系列教程(九) ServerSocketChannel
Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样。ServerSocketChannel类在 java.nio.channels包中。
1021 0
纯键盘开发实战(Mouseless Programming)
作为一个践行Mouseless Programming的开发者,来谈谈自己在日常工作中是如何做到「几乎」不用鼠标的。 在说具体的「技巧」之前,先聊一聊纯键盘开发的几个原则: 1. **动机**, 动机要单纯,纯键盘开发不是为了耍酷, 你的动机应该是提高「效率」:) 2. **键盘只是工具,思想才是关键**, 代码和问题先想清楚再下手,想清楚远比写的快重要! 3. **键盘不要经
1713 0
java的nio之:java的nio系列教程之serverSocketChannel
Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样。ServerSocketChannel类在 java.nio.channels包中。
790 0
《阿里巴巴Java Spring Boot 2.0开发实战课程》05课:三层MVC网站与架构分层误区、Java面试题
本期分享主题:三层架构MVC网站与分层架构误区、Java面试题,国内系统架构设计的文章和书籍。经常会搞错分层的概念,本课程进行了讲解。还有关于model概念的解析,以及Java Spring Boot2.0面试题。 另外java是免费的!
3154 0
Asp.net MVC 2 + Castle + NHibernate 项目实战(1)
本文将开始一步一步地使用Asp.net MVC 2 + Castle + NHibernate 开发一个项目。   在开始之前,我先对这三个组件做一个简单的介绍:  Asp.net MVC  它是微软提供的一个基于MVC标准的Web开发模式,其典型特点是有控制器和视图;在这之前,.NET下的Web开发模式大多是采用WebForm,其典型特点是服务端控件和后台触发事件;   NHibernate 它是一个ORM框架,使用Java的SSH做过项目开发的人就非常熟悉了,当前最新版本为NHibernate 3.0,听说完全支持Linq查询语句了,以前只支持HQL语句。
719 0
+关注
wer_ltm
梁桐铭,微软MVP,2018微软人工智能大赛教练,腾讯课堂,网易云课堂讲师,学生超过2000人,积微物联技术经理,6年软件开发经验,20人+团队管理经验。负责过多个大型项目的开发和管理,开发的项目数十个,擅长应用系统项目规划设计、处理各种综合性故障与疑难杂症;
25
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载