首页 > 代码库 > .NetCore中EFCore的使用整理
.NetCore中EFCore的使用整理
EntirtyFramework框架是一个轻量级的可扩展版本的流行实体框架数据访问技术.
其中的.NetCore版本对应EntityFrameworkCore
Git源代码地址:https://github.com/aspnet/EntityFramework/
官方使用文档说明:https://docs.microsoft.com/zh-cn/ef/core/index
一、安装Nuget包
Install-package Microsoft.EntityFrameworkCore
Install-package Microsoft.EntityFrameworkCore.SqlServer
Micorsoft.EntityFrameworkCore:EF框架的核心包
Micorsoft.EntityFrameworkCore.SqlServer:针对SqlServer数据库的扩展,使用SqlServer数据库必须。类似的还有MySql,SqlLite等
Micorsoft.EntityFrameworkCore.Tools
&Micorosft.EntityFrameworkCore.Design:用户根据现有的数据库生成模型代码等 ,更多参考 :https://docs.microsoft.com/zh-cn/ef/efcore-and-ef6/porting/port-edmx
二、使用实例
1.安装Nuget包之后,手动创建上下文,并 注入sql链接字符串
using Microsoft.EntityFrameworkCore; namespace Core2 { public class TestContext : DbContext { //public TestContext(DbContextOptions<TestContext> options) : base(options) //{ //} protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { //注入Sql链接字符串 optionsBuilder.UseSqlServer(@"Server=.;Database=Test1;Trusted_Connection=True;"); } public DbSet<Numeber1> Numeber1s { get; set; } } }
2.手写实体类,只要数据库中 存在对应 的表就可以了
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Core2 { [Table("Numeber1")] public class Numeber1 { [Key] public int ID { get; set; } public decimal Num1 { get; set; } } }
3.测试代码:
static void TestOne() { TestContext _context = new TestContext(); int count = _context.Numeber1s.Count(); Console.WriteLine(count); } static void TestTwo() { DateTime start = DateTime.Now; TestContext _context = new TestContext(); for (int i = 0; i < 10000; i++) { _context.Numeber1s.Add(new Numeber1() { Num1 = i }); _context.SaveChanges(); } Console.WriteLine(_context.Numeber1s.Count()); Console.WriteLine("总时间,秒数:" + (DateTime.Now - start).TotalSeconds); }
在调试的状态下1万条插入数据执行时间:
三、根据数据库生成模型
1.安装EntityFrameworkCore.Design和EntityFrameworkCore.Tools
2.选择对应的项目,执行生成命名
Scaffold-DbContext "Server=.;database=test1;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models2
3.生成结果如下 :
更多 :
VS Code搭建.NetCore开发环境(二)
VS Code搭建.NetCore开发环境(一)
Chocolatey 简介(软件自动化管理工具)
.NetCore中EFCore的使用整理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。