ASP.NET Core 开发-Entity Framework (EF) Core 1.0 Database First

来源:互联网 发布:原宿风书包淘宝 编辑:程序博客网 时间:2024/06/14 23:11

ASP.NET Core 开发-Entity Framework Core 1.0 Database First,ASP.NET Core 1.0 EF Core操作数据库。

Entity Framework Core 1.0 也已经发布了,可以适用于 .NET Core 1.0 及ASP.NET Core 1.0 。

EF Core RC2 时,使用的Code First: http://www.cnblogs.com/linezero/p/EntityFrameworkCore.html

EntityFrameworkCore SQLite 本篇文章同样以SQLite 数据库作为介绍Database First 开发。

目前 EF Core 1.0支持的数据库:

  • Microsoft SQL Server

  • SQLite

  • Postgres (Npgsql)

  • SQL Server Compact Edition

  • InMemory (for testing purposes)

  • DevArt has paid providers for MySQL, Oracle, and many other databases(第三方开发收费)

对于MySQL、Oracle 这些应该还要等待官方出驱动。

如果大家想ASP.NET Core 操作MySQL 可以参考我的这篇文章:.NET Core 使用Dapper 操作MySQL

现在正式开始Database First 开发。

新建项目

这里我们选择  ASP.NET Core Web Application (.NET Core) 

 

这里选择Web 应用程序,然后更改身份验证 改为 不进行身份验证

引用Entity Framework (EF) Core 1.0

引用 EF Core Sqlite

Install-Package Microsoft.EntityFrameworkCore.Sqlite

引用 EF Core Tool

Install-Package Microsoft.EntityFrameworkCore.Tools –Pre

引用 EF Core Sqlite Design

Install-Package Microsoft.EntityFrameworkCore.Sqlite.Design

引用好以后我们在project.json -> tools 节点加上 "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"

"tools": {    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",    "BundlerMinifier.Core": "2.0.238",    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"  },

生成实体

这里我就不新建数据库了,直接使用上次文章的数据库,来反向生成实体类。

将 efcoredemo.db 拷贝到 bin\Debug\netcoreapp1.0 文件夹下。

首先我们在 src\EFCoreDBFirst 文件夹 执行命令 dotnet ef 确保命令可以执行。

下面我们来生成实体:

dotnet ef dbcontext scaffold "FileName=efcoredemo.db" Microsoft.EntityFrameworkCore.Sqlite

执行完成后,在项目目录也就生成了对应的实体类及对应context。

项目使用

首先我们要在 Startup.cs 的 ConfigureServices 方法添加以下代码:

 public void ConfigureServices(IServiceCollection services)        {          
    
var connection = "Filename=efcoredemo.db";               services.AddDbContext<efcoredemoContext>(options =>          options.UseSqlite(connection));      
     
// Add framework services.
   services.AddMvc(); }

新建一个 UserController

然后 在Views 添加一个 User 文件,然后添加对应的视图。

添加一个Register Action,再添加一个 Register 视图


@model EFCoreDBFirst.Users@{     ViewBag.Title = "用户添加";}<form asp-controller="User" asp-action="Register" method="post">    <div class="form-group">        <label asp-for="UserName" class="col-md-2 control-label">用户名:</label>        <div class="col-md-10">            <input class="form-control" asp-for="UserName" />            <span asp-validation-for="UserName" class="text-danger"></span>        </div>        <label asp-for="Password" class="col-md-2 control-label">密码:</label>        <div class="col-md-10">            <input class="form-control" asp-for="Password" />            <span asp-validation-for="Password" class="text-danger"></span>        </div>        <div class="col-md-offset-2 col-md-10">            <input type="submit" value="保存" class="btn btn-default" />        </div>    </div></form>

 

UserController.cs


    public class UserController : Controller    {      
        
private efcoredemoContext _context;

       
public UserController(efcoredemoContext context)        {            _context = context;        }      

     
// GET: /<controller>/ public IActionResult Index()        {        
           
return View(_context.Users.ToList());        }    

       
public IActionResult Register()        {          
            
return View();        }        [HttpPost]        [ValidateAntiForgeryToken]    
       
public IActionResult Register(Users registeruser)        {          
          
if (ModelState.IsValid)            {                _context.Users.Add(registeruser);                _context.SaveChanges();  
               
return RedirectToAction("Index");            }  
           return View(registeruser);        }    }

程序运行起来:

http://localhost:5000/User/Register

http://localhost:5000/User

 

参考文档:https://docs.efproject.net/en/latest/platforms/aspnetcore/existing-db.html

相关文章:

  • ASP.NET Core 1.0 入门——了解一个空项目

  • ASP.NET Core 1.0 部署 HTTPS (.NET Framework 4.5.1)

  • .NET Core 1.0、ASP.NET Core 1.0和EF Core 1.0简介

  • 云服务器下ASP.NET Core 1.0环境搭建(包含mono与coreclr)

  • 使用VS Code开发ASP.NET Core 应用程序

  • dotnet run是如何启动asp.net core站点的

  • ASP.NET Core提供模块化Middleware组件

  • “dotnet restore"和"dotnet run"都做了些什么?

  • 探秘 dotnet run 如何运行 .NET Core 应用程序

  • .NET Portability Analyzer 已开源

  • ASP.NET Core的配置(1):读取配置信息

  • ASP.NET Core的配置(2):配置模型详解

  • .NET Core 1.0 RC2 历险之旅

  • 使用VS Code开发 调试.NET Core 应用程序

  • 让我们Core在一起:ASP.NET Core & .NET Core

  • .NET Core VS Code 环境配置

  • 官方博客明确了 .NET Core RC2/RTM 时间表

  • .NET Core全新的配置管理[共9篇]

  • 利用记事本创建一个ASP.NET Core RC2 MVC应用

  • 微软.NET 正式劈腿成功,横跨所有平台

  • .NET Core 1.0 CentOS7 尝试

  • 解读发布:.NET Core RC2 and .NET Core SDK Preview 1

  • [.NET Core].NET Core R2安装及示例教程

  • ASP.NET Core 开发-中间件(Middleware)

  • 结合Jexus + Kestrel 部署 asp.net core 生产环境

  • 通过Jexus 部署 dotnetcore版本MusicStore 示例程序

  • ASP.NET Core 中文文档 第一章 入门

  • 用 Visual Studio Code 在 macOS 上创建首个 ASP.NET Core 应用程序

  • 用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API

  • 用 Visual Studio 发布一个 Azure 云 Web 应用程序

  • ASP.NET Core MVC 与 Visual Studio 入门

  • 第二章指南(4.2)添加 Controller

  • DotNet Core 介绍

  • asp.net core 中间件详解及项目实战

  • 教你实践ASP.NET Core Authorization(免看文档教程)

  • asp.net core 使用 Redis 和 Protobuf 进行 Session 缓存

  • asp.net core 中间件详解及项目实战

  • 第二章 指南(4.3)添加 View

  • dotnet core开发体验之开始MVC

  • dotnet core 开发体验之Routing

  • 聊聊ASP.NET Core默认提供的这个跨平台的服务器——KestrelServer

  • 简析.NET Core 以及与 .NET Framework的关系

  • .NET Core 使用Dapper 操作MySQL

  • 使用 CommandLineApplication 类创建专业的控制台程序

  • 简析 .NET Core 构成体系

  • .NET Core也可以使用MongoDB了

  • .NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布

  • .NET Core:面向未来的开源跨平台开发技术

  • 微软说它深爱着Linux,现在它用行动证明了

  • 移植.NET Core计划,整合各平台变得更简单了!

  • ASP.NET Core 介绍

  • 通过几个Hello World感受.NET Core全新的开发体验

  • ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行

  • .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

  • Asp.Net Core 发布和部署( MacOS + Linux + Nginx )

  • Asp.Net Core 发布和部署(Linux + Jexus )

  • 学习ASP.NET Core,你必须了解无处不在的“依赖注入”

  • .NET Core应用类型(Portable apps & Self-contained apps)

  • .NET Core 1.0发布:微软开源跨平台大布局序幕

  • ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件)

原文地址:http://www.cnblogs.com/linezero/p/EFCoreDBFirst.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

阅读全文
0 0