本篇文章内容比较基础,主要是向大家展示如何创建一个 ASP.NET 5 工程,主要包含内容如下:

  • 创建ASP.NET 5 工程

  • 添加 Todo 控制器

  • 安装 K Version Manager

  • 执行 EF 迁移

打开Visual Studio 2015 Preview。选择 ”File” 菜单,选择New > Project

New Project 对话框中,点击Templates > Visual C# > Web,选择ASP.NET Web Application 工程模板。命名工程为"TodoList",点击OK

添加Todo 控制器

1. 下载完整工程completed project。

2. 在工程解决方案管理器中,右键点击Controllers 文件夹> Add > Exiting Item输入下载工程中的TodoController.cs 文件路径

3. 使用相同的方法添加 Models\TodoItem.csModels\TodoItemEditModel.cs 文件到 Models 文件夹。

4. 在Views下创建ToDo 文件夹。使用同样方法,添加Views\ToDo 文件夹下所有View文件到Views\Todo 文件夹。

5. 更改Views\Shared\_Layout.cshtml 文件下的ActionLink 调用Todo 控制器:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - Todo</title><link rel="stylesheet" href="~/lib/bootstrap/css/bootstrap.css" /><link rel="stylesheet" href="~/css/site.css" /></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="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button>@Html.ActionLink("Todo app", "Index", "Todo", new { area = "" }, new { @class = "navbar-brand" })</div><div class="navbar-collapse collapse"><ul class="nav navbar-nav">@* Markup removed for brevity *@</body>
</html>

6. 添加 DbSet 包含TodoItem 模型到Models\IdentityModels.cs 文件。

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>{private static bool _created = false;public DbSet<TodoItem> TodoItems { get; set; }// Code removed for brevity.}

7. 运行app 点击Todo app 链接。你会遇到以下错误信息 (将在后续文章中解决这个问题)。

A database operation failed while processing the request.    
SqlException: Invalid object name 'TodoItem'.    
There are pending model changes for ApplicationDbContext    
Scaffold a new migration for these changes and apply them to the database from the command line    
> k ef migration add [migration name]    
> k ef migration apply

安装K Version Manager (KVM)

1. 以管理员身份运行Visual Studio 命令提示工具。

2. 执行以下指令:

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/aspnet/Home/master/kvminstall.ps1'))"

以上指令将为当前用户安装KVM。

3. 退出Visual Studio 命令提示工具,重新使用管理员身份运行Visual Studio命令提示工具(你需要使用新的命令提示工具获取已经更新的路径环境)。

4. 使用以下指令升级KVM :

KVM upgrade  
现在已经可以运行 EF 迁移了。.

执行EF 迁移

1. 在管理员命令提示窗体中,更改当前操作路径为工程文件夹,工程文件夹下包含project.json 文件。

2. 在命令提示窗体中运行以下指令:

k ef migration add initial  
k ef migration apply  
ef migration add initial

指令将以<date>_<migration name>.cs 命名形式添加一个迁移文件,迁移文件中包含了迁移代码that adds the TodoItem DbSet. TheMigrations\ApplicationDbContextModelSnapshot.cs 文件file will be updated to include instructions to create theTodoItem entity.

builder.Entity("TodoList.Models.TodoItem", b =>{b.Property<int>("Id").GenerateValuesOnAdd();b.Property<bool>("IsDone");b.Property<int>("Priority");b.Property<string>("Title");b.Key("Id");
});

· 运行应用,点击Todo app 链接。点击Create New Todo 链接创建一个新的Todo 项。

关于Todo 控制器

Todo 控制器类似于创建了一个带有异常的ASP.NET MVC 5 工程。在这个示例中,数据内容被注入到Todo 控制器. 你可以从链接中了解更多信息:Dependency Injection in ASP.NET vNext。

以上步骤创建了一个新的ASP.NET 5.0 工程,在下一篇文章中我们将讲述View Components 的使用方法。敬请期待.

原文地址:View components and Inject in ASP.NET MVC 6

ASP.NET 5系列教程 (二):Hello World相关推荐

  1. ASP.NET 5系列教程 (四):向视图中添加服务和发布应用到公有云

    向视图中添加服务 现在,ASP.NET MVC 6 支持注入类到视图中,和VC类不同的是,对类是公开的.非嵌套或非抽象并没有限制.在这个例子中,我们创建了一个简单的类,用于统计代办事件.已完成事件和平 ...

  2. ASP.NET 5系列教程(七)完结篇-解读代码

     在本文中,我们将一起查看TodoController 类代码. [Route] 属性定义了Controller的URL 模板: [Route("api/[controller]&quo ...

  3. ASP .NET Core Web Razor Pages系列教程二:添加模型到Razor Pages网络应用程序

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

  4. 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级)

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级) 本章介绍的是企业库加密应用程序模块 ...

  5. C#微信公众号开发系列教程二(新手接入指南)

    此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可直接跳过,也欢迎大神吐槽. 微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教 ...

  6. ASP.NET MVC3 系列教程 - 目录

    I:ASP.NET MVC3 新增的功能 ASP.NET MVC3 系列教程 - Razor视图引擎基础语法 ASP.NET MVC3 系列教程 - View的变化 ASP.NET MVC3 系列教程 ...

  7. QT5系列教程二---基于qcustomplot的QT5 GUI串口收发绘图软件实现

    QT5系列教程二---基于qcustomplot的QT5 GUI串口收发绘图软件实现 结构 UI部分 代码部分 step1:实现串口数据接受 串口接受数据格式 在`.pro`文件中添加`serialp ...

  8. 以太坊构建DApps系列教程(二):构建TNS代币

    在本系列关于使用以太坊构建DApps教程的第1部分中,我们引导大家做了两个版本的本地区块链进行开发:一个Ganache版本和一个完整的私有PoA版本. 在这一部分中,我们将深入研究并构建我们的TNS代 ...

  9. 【ASP.NET Identity系列教程(三)】Identity高级技术

    注:本文是[ASP.NET Identity系列教程]的第三篇.本系列教程详细.完整.深入地介绍了微软的ASP.NET Identity技术,描述了如何运用ASP.NET Identity实现应用程序 ...

最新文章

  1. 解决360浏览器偶发性会闪屏一下黑色的背景
  2. 一不小心把win10的秘钥卸载了解决方法
  3. 白话Elasticsearch62-进阶篇之Highlighting高亮显示
  4. config done shell_shell do...done $config
  5. 今天刚查到的宏,学习
  6. 【问题解决】无法创建新的堆栈防护页面
  7. 关于 ASP.NET MVC 中的视图生成
  8. 渗透测试之Nmap命令(一)
  9. Java 9 又要延期?甲骨文撂狠话:强推!
  10. SQL语言:DQL,DML,DDL,DCL
  11. ESP32-S3 USB UART 下载总结
  12. 2020-09-07(基于控制台的DVD管理系统)
  13. android自定义键盘 下划线,TabLayout 自定义下划线
  14. Ubuntu上安装vmware
  15. 广告术语(持续更新...)
  16. SQL建表语句中 COLLATE Chinese_PRC_CI_AS是何意思?
  17. 2021地理高考成绩查询,安徽高考成绩查分时间2021
  18. golang race 竞态检测
  19. 总结关于webpack
  20. 从零开始学区块链dapp开发之remix安装

热门文章

  1. SDUT OJ 数据结构实验之排序一:一趟快排
  2. ***JAVA多线程和并发基础面试问答
  3. 2款不同样式的CSS3 Loading加载动画 附源码
  4. input输入系统中是如何实现按键重复
  5. 76 道 Oracle Goldengate 面试问题
  6. web性能优化——关键渲染路径(上)
  7. 如何在windows下的Python开发工具IDLE里安装其他模块
  8. LeetCode:146_LRU cache | LRU缓存设计 | Hard
  9. Java快速教程--vamei 学习笔记(基础篇)
  10. struts2之请求参数接收