EFcore框架,使用的是ORM框架(Object Relational Maqqing)对象--关系--映射,意思是一个对象(类)表示一个表。
两种模式:DB First 数据库优先;code First 代码优先。
EFcore其实是一个提供程序包(dll)文件,连接数据库用的。需要限制NuGet下载到项目中才能用。搜索entity就可以找到。
下载名称如下:
SQL server中型数据库:Microsoft.EntityFrameworkCore.SqlServer
MySQL小型数据库:MySQL.Data.EntityFrameworkCore
Oracle大型数据库:Oracle.EntityFrameworkCore
SQLite移动端数据库: Microsoft.EntityFrameworkCore.SQLite
InMemory做性能测试的:Microsoft.EntityFrameworkCore.InMemory
API 数据接口:Microsoft.EntityFrameworkCore.Cosmos
EF框架命令工具包:Microsoft.EntityFrameworkCore.Tools 必须安装后面你才能使用一些命令,比如数据库迁移;命令控制台:工具--->NuGet程序包管理器--->程序包管理控制台。即可输入命令。
拼接数据库连接字符串:
服务器名称3种方法:1.Data Source = (localdb)\ProjectModels; 2.server=.;3.addr=.;
数据库名称两种:1、database=数据库名;2、initial catalog=数据库名;
安全信息凭证两种:1、trusted_connection=true;2、Integrated Security = false; 两种是一样的,true表示可以用Windows身份登录,false表示必须账号密码登录。
属性:MultipleActiveResultSets=true;表示提高访问数据库的效率
string connString = @"server=.;database=OA;trusted_connection=true;MultipleActiveResultSets=true;";//数据库连接字符串
1.code First:用代码来生成数据库(比较灵活)
首先创建个实体类,实体类最好建立Models文件夹专门存放。通过实体类转换成数据库。
//Models实体类:做数据传输用,一个类表示一个表。 public class userinfo { public int id { get; set; }//编号 public string name { get; set; }//姓名 public string sex { get; set; }//性别 public int age { get; set; }//年龄 }
数据库上下文类:操作数据库用的
数据库上下文类(管道:操作ef框架的一个类)可以看成一个数据库
必须继承DbContext是ef框架提提供给我们的,封装了对数据库的增删改查等功能,功能不够要添加一下自己的东西比如:新表等等
using ConsoleApp1.Models;//实体类文件夹自己创建的 using Microsoft.EntityFrameworkCore;//使用EFCore框架必须要引入。 Console.WriteLine("这个代码没用,只是顶级程序入口没有代码,随便输入一句话指定入口Main方法而已"); //创建一个操作OA数据库的上下文类 public class NetContext : DbContext//必须继承ef框架提供的DbContext类,我们创建的上下文类是用来添加新功能的 { //构造方法主要ef框架在用,有时用户也可能用到 public NetContext() { } //其实这两个构造也是父类的构造,其实参数是给父类传递的。 public NetContext(DbContextOptions<NetContext> options):base(options) { } public DbSet<userinfo> userinfo { get; set; }//用一个字段表示一个表。连接model用 //继承父类虚方法;作用是配置数据库上下文类 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { string connString = @"server=.;database=OA;trusted_connection=true;MultipleActiveResultSets=true;";//数据库连接字符串 optionsBuilder.UseSqlServer(connString); } }
创建好后就可以执行数据库迁移两个命令:1.add-migration init-Mig (生成迁移代码 init-Mig是迁移的名称) 得到一个迁移文件夹,2.update-database(执行到数据库)
2、DB First 用数据库来生成代码(了解)
标签:实体类,C#,数据库,Microsoft,EntityFrameworkCore,EFCore,true,public From: https://www.cnblogs.com/longxinyv/p/16849630.html