使用 EFCore简单入门(实体类生成数据库表)

1.安装Nuget包
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
Microsoft.EntityFrameworkCore.Design

 

2.创建Book,Post两个实体类

public class Book
{
    /// <summary>
    /// id
    /// </summary>
    public int Id { get; set; }
    /// <summary>
    /// 书本名称
    /// </summary>
    public string Name { get; set; }
    /// <summary>
    /// 价格
    /// </summary>
    public int Price { get; set; }
    /// <summary>
    /// 所属类型
    /// </summary>
    public string Type { get; set; }
}
public class Post
{
    /// <summary>
    /// 借书人
    /// </summary>
    public int PostId { get; set; }
    /// <summary>
    /// 姓名
    /// </summary>
    public string PostName { get; set; }
    /// <summary>
    /// 性别
    /// </summary>
    public string Sex { get; set; }
    /// <summary>
    /// 住址
    /// </summary>
    public string Address { get; set;}
}

3.创建一个xxxx类我这点取名BingBDContext类

public class BingBDContext : DbContext
{
    public DbSet<Book> Books { get; set; }
    public DbSet<Post> Posts { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer("server=.;database=NewTable;uid=sa;pwd=123456;TrustServerCertificate=True");
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        //重新定义表名,如果不重新定义,那么就是 Books和 Posts
        modelBuilder.Entity<Book>().ToTable("NewBooks").HasComment("你的表注释"); //点击表右键查看属性,选择扩展属性,可查看注释
        modelBuilder.Entity<Post>().ToTable("NewPosts");
     //排除某张表迁移
     //modelBuilder.Ignore<Post>();
    }
}

 

4.打开解决方案文件夹,进入cmd运行两个命令

dotnet ef migrations add 自定义一个名字
dotnet ef database update

-----------------------------------------------------------------------
4-1: 在vs包管理控制台中输入命名

add-migration 自定义一个名字
update-database

5. dotnet 需要安装net core 运行时
运行时下载 https://dotnet.microsoft.com/zh-cn/download/dotnet

dotnet ef 安装: (注意安装的dotnet版本要和运行时版本一样为8.0.4)

dotnet tool install -g --version 8.0.4 dotnet-ef

6. 我这点安装的是 net8 运行时,

7. 选择运行时安装,注意不要安装成sdk了
8.安装 

Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools

时,选择安装的版本要和安装运行时的版本一致,否则: 嘿嘿嘿~你懂的
9: 既然前面我们已经准备就绪了,接下来就是对数据的增删改查了

BingBDContext db = new BingBDContext();

//
db.Books.Add(new Book()
{
    Name="坏蛋是怎么练成的",
    Price= 89,
    Type="科幻类"
});

//
Book book = db.Books.FirstOrDefault();
Console.WriteLine("编号:"+book.Id+"   书名:"+book.Name+"    价格:"+book.Price+"   类型:"+book.Type);

//
book.Name = "穿越大兴安岭";
book.Price = 29;

//
db.Books.Remove(book);

db.SaveChanges(); //保存到数据库
db.Dispose()//释放上下文

 

posted @ 2024-07-04 14:01  龙卷风吹毁停车场  阅读(2)  评论(0编辑  收藏  举报