一.前言
Entity Framework(后面简称EF)作为微软家的ORM,自然而然从.NET Framework延续到了.NET Core。以前我也嫌弃EF太重而不去使用它,但是EF Core(Entity Framework Core)已经做了很多性能优化,还有一些增加新特性,吸引了我去使用它。关于EF Core 2.0 的新特性请看:http://www.cnblogs.com/stulzq/p/7366044.html
二.控制台程序使用 EF Core(Code First)
1.新建一个.NET Core控制台程序
2.通过Nuget安装 EF Core
-
Sql Server 请安装 Microsoft.EntityFrameworkCore.SqlServer
-
MySql/MariaDB请安装 Pomelo.EntityFrameworkCore.MySql (2.0及以上版本)
MySql/MariaDB 推荐使用Pomelo EF Core组件,因为官方的目前可能存在bug,Pomelo EF Core同样是微软官方所推荐的。
其他数据库请查看:https://docs.microsoft.com/zh-cn/ef/core/providers/
安装好EF Core之后,打开项目*.csproj文件 添加如下代码。
<ItemGroup> <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" /> </ItemGroup>
本文所用数据库为MariaDB
3.添加实体
public class Blog{
public int BlogId { get; set; }
public string Url { get; set; }
public List<Post> Posts { get; set; } }
public class Post{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public int BlogId { get; set; }
public Blog Blog { get; set; } }
4.添加数据库上下文
public class BloggingContext : DbContext{
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) {
//配置mariadb连接字符串 optionsBuilder.UseMySql("Server=localhos