ASP.NET Core 开发-Entity Framework (EF) Core 1.0 Database First
ASP.NET Core 開發(fā)-Entity Framework Core 1.0 Database First,ASP.NET Core 1.0 EF Core操作數(shù)據(jù)庫。
Entity Framework Core 1.0 也已經(jīng)發(fā)布了,可以適用于?.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?數(shù)據(jù)庫作為介紹Database First 開發(fā)。
目前 EF Core 1.0支持的數(shù)據(jù)庫:
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(第三方開發(fā)收費)
對于MySQL、Oracle 這些應(yīng)該還要等待官方出驅(qū)動。
如果大家想ASP.NET Core 操作MySQL 可以參考我的這篇文章:.NET Core 使用Dapper 操作MySQL
現(xiàn)在正式開始Database First 開發(fā)。
新建項目
這里我們選擇??ASP.NET Core Web Application (.NET Core)?
?
這里選擇Web 應(yīng)用程序,然后更改身份驗證 改為?不進行身份驗證
引用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 節(jié)點加上?"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"},生成實體
這里我就不新建數(shù)據(jù)庫了,直接使用上次文章的數(shù)據(jù)庫,來反向生成實體類。
將?efcoredemo.db 拷貝到?bin\Debug\netcoreapp1.0 文件夾下。
首先我們在 src\EFCoreDBFirst 文件夾 執(zhí)行命令?dotnet ef?確保命令可以執(zhí)行。
下面我們來生成實體:
dotnet ef dbcontext scaffold "FileName=efcoredemo.db" Microsoft.EntityFrameworkCore.Sqlite執(zhí)行完成后,在項目目錄也就生成了對應(yīng)的實體類及對應(yīng)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 文件,然后添加對應(yīng)的視圖。
添加一個Register Action,再添加一個?Register 視圖
?
UserController.cs
? ? ? ??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
相關(guān)文章:
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簡介
云服務(wù)器下ASP.NET Core 1.0環(huán)境搭建(包含mono與coreclr)
使用VS Code開發(fā)ASP.NET Core 應(yīng)用程序
dotnet run是如何啟動asp.net core站點的
ASP.NET Core提供模塊化Middleware組件
“dotnet restore"和"dotnet run"都做了些什么?
探秘 dotnet run 如何運行 .NET Core 應(yīng)用程序
.NET Portability Analyzer 已開源
ASP.NET Core的配置(1):讀取配置信息
ASP.NET Core的配置(2):配置模型詳解
.NET Core 1.0 RC2 歷險之旅
使用VS Code開發(fā) 調(diào)試.NET Core 應(yīng)用程序
讓我們Core在一起:ASP.NET Core & .NET Core
.NET Core VS Code 環(huán)境配置
官方博客明確了 .NET Core RC2/RTM 時間表
.NET Core全新的配置管理[共9篇]
利用記事本創(chuàng)建一個ASP.NET Core RC2 MVC應(yīng)用
微軟.NET 正式劈腿成功,橫跨所有平臺
.NET Core 1.0 CentOS7 嘗試
解讀發(fā)布:.NET Core RC2 and .NET Core SDK Preview 1
[.NET Core].NET Core R2安裝及示例教程
ASP.NET Core 開發(fā)-中間件(Middleware)
結(jié)合Jexus + Kestrel 部署 asp.net core 生產(chǎn)環(huán)境
通過Jexus 部署 dotnetcore版本MusicStore 示例程序
ASP.NET Core 中文文檔 第一章 入門
用 Visual Studio Code 在 macOS 上創(chuàng)建首個 ASP.NET Core 應(yīng)用程序
用 Visual Studio 和 ASP.NET Core MVC 創(chuàng)建首個 Web API
用 Visual Studio 發(fā)布一個 Azure 云 Web 應(yīng)用程序
ASP.NET Core MVC 與 Visual Studio 入門
第二章指南(4.2)添加 Controller
DotNet Core 介紹
asp.net core 中間件詳解及項目實戰(zhàn)
教你實踐ASP.NET Core Authorization(免看文檔教程)
asp.net core 使用 Redis 和 Protobuf 進行 Session 緩存
asp.net core 中間件詳解及項目實戰(zhàn)
第二章 指南(4.3)添加 View
dotnet core開發(fā)體驗之開始MVC
dotnet core 開發(fā)體驗之Routing
聊聊ASP.NET Core默認(rèn)提供的這個跨平臺的服務(wù)器——KestrelServer
簡析.NET Core 以及與 .NET Framework的關(guān)系
.NET Core 使用Dapper 操作MySQL
使用 CommandLineApplication 類創(chuàng)建專業(yè)的控制臺程序
簡析 .NET Core 構(gòu)成體系
.NET Core也可以使用MongoDB了
.NET Core & ASP.NET Core 1.0在Redhat峰會上正式發(fā)布
.NET Core:面向未來的開源跨平臺開發(fā)技術(shù)
微軟說它深愛著Linux,現(xiàn)在它用行動證明了
移植.NET Core計劃,整合各平臺變得更簡單了!
ASP.NET Core 介紹
通過幾個Hello World感受.NET Core全新的開發(fā)體驗
ASP.NET Core 運行原理剖析1:初始化WebApp模版并運行
.NET Core系列 : 1、.NET Core 環(huán)境搭建和命令行CLI入門
Asp.Net Core 發(fā)布和部署( MacOS + Linux + Nginx )
Asp.Net Core 發(fā)布和部署(Linux + Jexus )
學(xué)習(xí)ASP.NET Core,你必須了解無處不在的“依賴注入”
.NET Core應(yīng)用類型(Portable apps & Self-contained apps)
.NET Core 1.0發(fā)布:微軟開源跨平臺大布局序幕
ASP.NET Core 運行原理剖析2:Startup 和 Middleware(中間件)
原文地址:http://www.cnblogs.com/linezero/p/EFCoreDBFirst.html
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關(guān)注
總結(jié)
以上是生活随笔為你收集整理的ASP.NET Core 开发-Entity Framework (EF) Core 1.0 Database First的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Windows Server 2012
- 下一篇: 拥抱.NET Core,跨平台的轻量级R