ef db first oracle,ASP.NET Core 开发-EF Core 1.0 Database First

来源:LineZero链接:http://www.cnblogs.com/linezero/p/EFCoreDBFirst.html

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 时,使用的

CodeFirst: 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 可以参考我的这篇文章:http://www.cnblogs.com/linezero/p/NETCoreMySQL.html

现在正式开始Database First 开发。

新建项目

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

77516116_1

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

77516116_2

引用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 确保命令可以执行。

77516116_3

下面我们来生成实体:

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

77516116_4

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

77516116_5

项目使用

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

public void ConfigureServices(IServiceCollection services)

{

services.AddDbContext();

// Add framework services.

services.AddMvc();

}

新建一个 UserController

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

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

@model EFCoreDBFirst.Users

@{

ViewBag.Title = '用户添加';

}

用户名:

密码:

UserController.cs

public class UserController : Controller

{

private efcoredemoContext _context;

public UserController(efcoredemoContext context)

{

_context = context;

}

// GET: //

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

77516116_6

列表展示: Index.cshtml

@model IEnumerable

@{

ViewBag.Title = '用户';

}

@foreach (var item in Model)

{

}

Id用户名密码

@Html.DisplayFor(modelItem => item.Id)@Html.DisplayFor(modelItem => item.UserName)@Html.DisplayFor(modelItem => item.Password)

http://localhost:5000/User

77516116_7

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值