码迷,mamicode.com
首页 > 其他好文 > 详细

EFCore中两种First的使用

时间:2021-07-05 16:55:20      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:create   数据库   http   好项目   tab   fir   输入   result   classname   

首先说一下(DbFirst)数据库先行,

1.建好项目后通过 NuGet 安装所需依赖性:

(1)Microsoft.EntityFrameworkCore 
(2)Microsoft.EntityFrameworkCore.Design 
(3)Microsoft.EntityFrameworkCore.SqlServer 
(4)Microsoft.EntityFrameworkCore.SqlServer.Design 
(5)Microsoft.EntityFrameworkCore.Tools 

 

可以右键项目通过管理NuGet程序包的方式安装,也可以通过命令安装(找到VS工具栏 ---> NuGet 包管理器 ---> 程序包管理控制台):

注意选择默认项目

Install-package Microsoft.EntityFrameworkCore 
Install-package Microsoft.EntityFrameworkCore.Tools 
Install-package Microsoft.EntityFrameworkCore.Design 
Install-package Microsoft.EntityFrameworkCore.SqlServer 
Install-package Microsoft.EntityFrameworkCore.SqlServer.Design 

 

 

然后继续在程序包管理控制台再输入:

Scaffold-DbContext -Connection "Server=.;Database=EFCoreDemo;uid=sa;pwd=123" Microsoft.EntityFrameworkCore.SqlServer -OutputDir "Models"

 

-OutputDir "Models" 可以不写,如果加上了则会在项目中添加models文件夹,生成的context和实体类都放到models文件夹中

技术图片

 

 

下面使用的是Code First

首先建好项目,安装依赖包

Microsoft.EntityFrameworkCore.SqlServer 
Microsoft.EntityFrameworkCore 

编写Studnet和Classinfo实体类

技术图片

 

 技术图片

 

context上下文类需要继承DbContext
技术图片
    public class CodeFirstContext : DbContext
    {
        public CodeFirstContext()
        {

        }
        public CodeFirstContext(DbContextOptions options) : base(options)
        {

        }
        public DbSet<Student> Student { get; set; }
        public DbSet<ClassInfo> ClassInfo { get; set; }
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            if (!optionsBuilder.IsConfigured)
            {
                optionsBuilder.UseSqlServer("Server=.;Database=EFCoreCodeFirst;uid=sa;pwd=123");
            }
        }
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {

        }
    }
技术图片

技术图片

基本上跟Ef6差不多的,写好之后测试一下就OK了:
技术图片
using (CodeFirstContext db = new CodeFirstContext())
            {
                db.Database.EnsureCreated();    //如果数据库不存在则创建,存在则不管
                db.Add(new ClassInfo { ClassName = "三班" });
                var result = db.SaveChangesAsync().Result;
                Console.WriteLine(result > 0 ? "成功加入" : "失败add");

            }
技术图片


EFCore中两种First的使用

标签:create   数据库   http   好项目   tab   fir   输入   result   classname   

原文地址:https://www.cnblogs.com/tongsoul/p/14964735.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有
迷上了代码!