通过一个测试项目了解EF CORE

首先用vs2019创建一个.net core项目
可以是控制台应用程序,也可以是asp.net core项目

如果你使用控制台应用程序, 则可以在Main方法中直接使用EF Core进行CRUD操作。这通常用于测试或开发时快速进行数据库操作。

如果你使用ASP.NET Core应用程序, 则可以在控制器中使用EF Core进行CRUD操作。这通常用于在Web应用程序中与用户交互时进行数据库操作。

在任何情况下, 都需要创建一个DbContext类, 并使用它来进行数据库操作。

这篇先以控制台应用程序举例

以下是具体步骤:

1.创建一个新的控制台应用程序项目。

在这里插入图片描述

2.在项目中添加EF Core依赖项。可以使用以下命令在包管理器控制台中安装EF Core包(同时可以安装MySQL连接器包以及EF Core设计时(Design-Time)组件包):

在这里插入图片描述

Install-Package Microsoft.EntityFrameworkCore.Design -Version 3.0.0

Install-Package Pomelo.EntityFrameworkCore.MySql -Version 3.0.0

Install-Package Microsoft.EntityFrameworkCore -Version 3.0.0

3.在项目中创建一个实体类。例如Blog:

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApp2
{
    public class Blog
    {
        public int Id { get; set; }
        public string Url { get; set; }
    }
}

4.创建一个DbContext类, 并将实体类映射到数据库中的表。例如:

using Microsoft.EntityFrameworkCore;

namespace ConsoleApp2
{
    public class MyDbContext : DbContext
    {
        public DbSet<Blog> Blogs { get; set; }

        public MyDbContext(DbContextOptions<MyDbContext> options)
            : base(options)
        {
        }

        public MyDbContext()
        {
        }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseMySql(
                "Server=localhost;Database=mydatabase;User=root;Password=123456;");

        }
    }

}

5.在Main方法中, 使用EF Core进行CRUD操作。例如, 以下代码演示了如何使用EF Core在数据库中插入一条记录:

using System;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var context = new MyDbContext())
            {
                // Insert
                var blog = new Blog { Url = "http://sample.com" };
                context.Blogs.Add(blog);
                context.SaveChanges();

                // Update
                blog.Url = "http://updated.com";
                context.Blogs.Update(blog);
                context.SaveChanges();

                // Delete
 //               context.Blogs.Remove(blog);
 //               context.SaveChanges();
            }
        }

    }
}

6.创建数据库迁移

Add-Migration 

可以给这个迁移起一个名字或者编号

7.将未应用的迁移应用到数据库

这里使用迁移命令

Update-Database

他会根据DbContent的内容创建数据库mydatabase和表blogs

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseMySql(
                "Server=localhost;Database=mydatabase;User=root;Password=123456;");
//mydatabase
        }
        public DbSet<Blog> Blogs { get; set; }
//blogs 

在这里插入图片描述

8.运行项目

在这里插入图片描述
blogs表按照Main函数的内容被更改



主要问题就是版本适配,因为使用的是.net core3.1,所以找适配的EF Core MySQL连接器包以及EF Core设计时(Design-Time)组件包版本花费了点时间
请添加图片描述
https://longsheng.org/post/17239.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不惭_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值