900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > ASP.NET Core 开发-Entity Framework (EF) Core 1.0 Database First

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

时间:2021-03-23 14:43:50

相关推荐

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

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

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

EF Core RC2 时,使用的Code First:/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 这些应该还要等待官方出驱动。

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

现在正式开始Database First 开发。

新建项目

这里我们选择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 SqliteDesign

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

参考文档:/en/latest/platforms/aspnetcore/existing-db.html

相关文章:

Core 1.0 入门——了解一个空项目

Core 1.0 部署 HTTPS (.NET Framework 4.5.1)

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

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

使用VS Code开发 Core 应用程序

dotnet run是如何启动 core站点的

Core提供模块化Middleware组件

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

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

.NET Portability Analyzer 已开源

Core的配置(1):读取配置信息

Core的配置(2):配置模型详解

.NET Core 1.0 RC2 历险之旅

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

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

.NET Core VS Code 环境配置

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

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

利用记事本创建一个 Core RC2 MVC应用

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

.NET Core 1.0 CentOS7 尝试

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

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

Core 开发-中间件(Middleware)

结合Jexus + Kestrel 部署 core 生产环境

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

Core 中文文档 第一章 入门

用 Visual Studio Code 在 macOS 上创建首个 Core 应用程序

用 Visual Studio 和 Core MVC 创建首个 Web API

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

Core MVC 与 Visual Studio 入门

第二章指南(4.2)添加 Controller

DotNet Core 介绍

core 中间件详解及项目实战

教你实践 Core Authorization(免看文档教程)

core 使用 Redis 和 Protobuf 进行 Session 缓存

core 中间件详解及项目实战

第二章 指南(4.3)添加 View

dotnet core开发体验之开始MVC

dotnet core 开发体验之Routing

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

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

.NET Core 使用Dapper 操作MySQL

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

简析 .NET Core 构成体系

.NET Core也可以使用MongoDB了

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

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

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

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

Core 介绍

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

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

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

Core 发布和部署( MacOS + Linux + Nginx )

Core 发布和部署(Linux + Jexus )

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

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

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

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

原文地址:/linezero/p/EFCoreDBFirst.html

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。