how to use use EntityFrameworkCore under asp.net 2.0
How to use EntityFrameworkCore under asp.net 2.0
目前.NET CORE的版本已经到2.1.105,到了2.0后功逐渐完善丰富,已完全满足绝大部分web开发的需要,今天要分享的是自己在学习研究EntityFrameworkCore的CODE first的一些经历,在此记录沉淀下来。
开始吧!
EntityFrameworkCore与EF 6.0的异同
EF Core 理解为EF 6.0的简洁版,如何使用过EF 6.0再使用EF Core,应该相当容易,下面简单列举下它们的特点 (翻译自MSDN):
- EF Core跨平台,在Windows, Linux, Mac都可运行
- 官方介绍EF Core是一个轻量级,可扩展, 性能更优
我们可以自行扩展EF Core,使其拥有甚至在EF 6.0没有的功能。
- EF 6.0 是经过时间考验的,第一个版本从2008年开始,从EF 4.1开始就使用NuGet来管理更新。
- EF Core保留了原EF的操作方式,会用EF 6.0, EF Core也不是问题。
原文地址: https://docs.microsoft.com/en-us/ef/efcore-and-ef6/
EntityFrameworkCore的使用
EF Core的使用都是从code first 开始的,我今天是使用SQLite作为Provider, 目前EE Core支持的Provider已经相当丰富, 这里列举一下:
|
NuGet Package |
Supported database engines |
Maintainer / Vendor |
Notes / Requirements |
Useful links |
|
SQL Server 2008 onwards |
|
|||
|
SQLite 3.7 onwards |
|
|||
|
EF Core in-memory database |
For testing only |
|||
|
PostgreSQL |
|
|||
|
MySQL, MariaDB |
|
|||
|
MyCAT Server |
Pre-release, Up to EF Core 1.1 |
|||
|
SQL Server Compact 4.0 |
.NET Framework |
|||
|
SQL Server Compact 3.5 |
.NET Framework |
|||
|
MySQL |
Pre-release |
|||
|
Firebird 2.5 and 3.x |
EF Core 2.0 onwards, Pre-release |
|||
|
Firebird 2.5 and 3.x |
EF Core 2.0 onwards |
|||
|
Db2, Informix |
Windows version |
|||
|
Db2, Informix |
Linux version |
|||
|
Db2, Informix |
macOS version |
|||
|
Oracle 9.2.0.4 onwards |
Paid |
|||
|
PostgreSQL 8.0 onwards |
Paid |
|||
|
SQLite 3 onwards |
Paid |
|||
|
MySQL 5 onwards |
Paid |
|||
|
Microsoft Access files |
EF Core 2.0, .NET Framework |
|
DbContext
这里和以前的EF保持一致,自定义我们的DbContext, 这里和以往的code first没有差别。
public class AppConfigDbContext : DbContext
{
public AppConfigDbContext(DbContextOptions options) : base(options)
{
//create database if no exsisted one
this.Database.EnsureCreated();
}
public DbSet<Product> Products { get; set; }
}
IDesignTimeDbContextFactory<TDbContext>
帮助我们做Migration时用到。
我们需要在有DbContext的project内添加Microsoft.EntityFrameworkCore.Design, project file csproj

浙公网安备 33010602011771号