程序猿阵线联盟-汇总各类技术干货

EF Core 学习

2019-04-16  本文已影响0人  JeetChan

Entity Framework(EF) Core

Entity Framework 是一种支持 .NET 开发人员使用 .NET 对象处理数据库的对象关系映射程序 (O/RM)。 它不要求提供开发人员通常需要编写的大部分数据访问代码。

EF Core 是轻量化、可扩展和跨平台版的 Entity Framework。

学习资源

  1. 官方文档

  2. 博客

    • 博客园

    • CSDN

  3. 技术书籍

  4. GitHub,使用 "awesome + xx" 搜索,就会发现关于这些东西的学习资料,无论是书籍资源,库资源,还是学习视频、学习笔记,应有尽有。如用 "Awesome Entity Framework Core" 搜索,找到zzzprojects/awesome-entity-framework-core

第一个 EF Core 程序

在学习 EF Core 前我已经从事过 .NET Framework 的 Windows Forms 开发,也粗略了解过 .NET Core。所以 Visual Studio,.NET 组件,SQL Server Express LocalDB 等已安装完成。

同时在公交上看完了 solenovexEntity Framework Core 2.x 入门 (完结)视频,所以可以直接可以写一个程序了,因为学开发必须要写代码。然后再回过头来看文档,或重看视频,在这个过程中再梳理基本知识点,记录下主要步骤,再然后就是在实践中应用了。

坏境

  1. windows10(10.0.17763)

  2. Visual Studio 2017(15.9.11)

创建项目

  1. 创建一个 .NET Core 的控制台项目

  2. 通过 NuGet 安装 Microsoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.Design包。

  3. 创建模型和配置DbContext

using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;

namespace Intro
{
    public class BloggingContext : DbContext
    {
        public DbSet<Blog> Blogs { get; set; }
        public DbSet<Post> Posts { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer(
                @"Server=(localdb)\mssqllocaldb;Database=Blogging;Integrated Security=True");
        }
    }

    public class Blog
    {
        public int BlogId { get; set; }
        public string Url { get; set; }
        public int Rating { 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; }
    }
}
  1. 添加数据库,在工具”>“NuGet 包管理器”>“包管理器控制台”,运行以下命令:
Add-Migration InitialCreate
Update-Database

这里出现了一个错误:

无法将“add-migration”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。

需要在 PowerShell 中设置权限和在 NuGet 中导入就可以了:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
import-module C:\Users\MyPC\.nuget\packages\microsoft.entityframeworkcore.tools\2.2.2\tools\EntityFrameworkCore.psd1
  1. 查询,保存数据
using (var db = new BloggingContext())
{
    var blogs = db.Blogs
        .Where(b => b.Rating > 3)
        .OrderBy(b => b.Url)
        .ToList();
}
using (var db = new BloggingContext())
{
    var blog = new Blog { Url = "http://sample.com" };
    db.Blogs.Add(blog);
    db.SaveChanges();
}
第一个 EF Core 程序

参考

【视频】Entity Framework Core 2.* 入门教程

丧心病狂的Github技巧

上一篇 下一篇

猜你喜欢

热点阅读