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跨平台或扫描二维码关注
- ASP.NET Core 开发-Entity Framework (EF) Core 1.0 Database First
- ASP.NET Core 1.0: Using Entity Framework Core 1.0 - Transaction
- ASP.NET Core 1.0: Using Entity Framework Core
- ASP.NET Core如何使用Entity Framework
- Asp.Net Core-使用Entity Framework
- 使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序
- asp.net Core Entity Framework 7 数据库更新维护
- NET Core 使用 EF Code First
- Asp.net Core 使用EF连接MariaDb
- Entity Framework Core Lolita
- asp.net core学习Set Entity Framework找不到包EntityFramework.Commands
- ASP.NET Core 1.0 开发记录
- Entity Framework Core使用迁移
- Entity Framework Core 数据迁移
- Entity Framework Core 批处理语句
- Entity Framework Core 批处理语句
- Entity Framework Core 命名约定
- Entity Framework Core 使用体会
- 跨站脚本攻击(XSS)
- 使用 dotnet watch 开发 ASP.NET Core 应用程序
- .NET 框架兼容性简介
- 拥抱.NET Core,跨平台的轻量级RPC:Rabbit.Rpc
- .NET 框架兼容性简介
- ASP.NET Core 开发-Entity Framework (EF) Core 1.0 Database First
- 在Windows Server 2012 R2 Standard 部署 ASP.NET Core程序
- ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件)
- .NET Core 1.0发布:微软开源跨平台大布局序幕
- .NET Core应用类型(Portable apps & Self-contained apps)
- 学习ASP.NET Core,你必须了解无处不在的“依赖注入”
- Asp.Net Core 发布和部署(Linux + Jexus )
- Asp.Net Core 发布和部署( MacOS + Linux + Nginx )
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门