使用 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 @   龙卷风吹毁停车场  阅读(117)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示