asp.netcore使用efcore(代码片段)

Lzysnd Lzysnd     2023-02-15     406

关键词:

一、NuGet安装EF Core支持的程序包,使用sql server 数据库

右键单击“项目” > “管理NuGet程序包” 查找安装

sql server:

Microsoft.EntityFrameworkCore.SqlServer:Sql Server数据库EF提供程序

Microsoft.EntityFrameworkCore.Design:设计时使用到的EF共享库

Microsoft.EntityFrameworkCore.Tools:EF的NuGet包管理器命令工具

 

Mysql需要安装:

MySql.Data.EntityFrameworkCore -Pre
Pomelo.EntityFrameworkCore.MySql
Microsoft.EntityFrameworkCore.Tools
Microsoft.VisualStudio.Web.CodeGeneration.Design

二、创建实体类

 public class User
    
        /// <summary>
        /// 用户ID
        /// </summary>
        [Description("用户ID")]
        [Key]
        public int id  get; set;  
        /// <summary>
        /// 用户名
        /// </summary>
        [Description("用户名")]
        public string name  get; set; 
        /// <summary>
        /// 用户名
        /// </summary>
        [Description("用户密码")]
        public int password  get; set; 

    

三、创建数据库上下文(MyDBContext)

  public class MyDBContext : DbContext
    
        public MyDBContext()  
        public MyDBContext(DbContextOptions<MyDBContext> options) : base(options)
        


        //用户类
        public virtual DbSet<User> User  get; set; 

    

四、appsettings.json配置数据库连接字符串

(不是密码)


  "Logging": 
    "LogLevel": 
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    
,
"AllowedHosts": "*",
//连接字符串
"ConnectionStrings": 
    "SqlServer": "Data Source=.;Initial Catalog=DormitoryDB;Integrated Security=True"
  

(sa密码)


  "Logging": 
    "LogLevel": 
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    
,
"AllowedHosts": "*",

//连接字符串
"ConnectionStrings": 
   
     "SqlServer": "server=localhost;database=数据库名;uid=管理员账户;pwd=密码;CharSet=utf8"
  

五、注册上下文对象依赖注入服务,连接数据库

在Startup.cs中ConfigureServices方法中注册数据库上下文

     public void ConfigureServices(IServiceCollection services)
        
            #region 数据库上下文注册
           
            //注册上下文对象

            services.AddDbContext<MyDBContext>(options =>
            
                options.UseSqlServer(Configuration.GetConnectionString("SqlServer"));
                //options.EnableSensitiveDataLogging();
            );

            #endregion

            services.AddControllers();
            services.AddSwaggerGen(c =>
            
            c.SwaggerDoc("v1", new OpenApiInfo  Title = "SystemAPi", Version = "v1" );
            );


            
        

在数据库上下文中添加连接数据库字符串

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
     => optionsBuilder.SqlServer(@"Server=.Database=数据库名字;Integrated Security=True");
    

 

六、生成数据库。使用NuGet包管理命令来生成数据库和表

打开Visual Studio的“工具”> “NuGet包管理器”>“程序包管理控制台

输入以下命令:

Add-Migration 迁移名称(版本名称)

Update-Database 迁移名称(版本名称) 然后数据库生成成功

使用remove-Migration 删除上一次的迁移(版本)

remove-Migration 删除上一次的迁移(版本)

接着就可以在控制器中写自己要实现的接口了

openiddict使用教程(代码片段)

OpenIddict是一个ASP.NETCore身份验证库,可帮助您添加OpenIDConnect和OAuth2.0支持到ASP.NETCore应用程序中。下面是OpenIddict使用教程的步骤:安装OpenIddict,在项目中添加OpenIddict.Core和OpenIddict.EntityFrameworkCoreNuget包。配置OpenIddict,在Startup.cs文... 查看详情

netcore体系-web应用程序-4asp.netcore2.0项目实战-5项目数据库操作封装操作(代码片段)

...作封装类 3.EFCore数据库操作4.总结1. 摘要  Asp.NetCore2.0下操作MSSQL数据库,这里介绍两种操作方式,一种是.NETFramework的ADO.NET《Ado.Net百科》,另一种就是NetCore2.0下的一种orm操作EFCore,由于本人习惯Ado.Net编程模式,EFCore涉... 查看详情

解决asp.netcore在task中使用iserviceprovider的问题(代码片段)

前言    问题的起因是在帮同事解决遇到的一个问题,他的本意是在EFCore中为了解决避免多个线程使用同一个DbContext实例的问题。但是由于对Microsoft.Extensions.DependencyInjection体系的深度不是很了解,结果遇到了新的问题&#... 查看详情

asp.netcore教程

第一章.NetCore入门1.netcore入门第二章.NetCore重难点知识2.1C#新语法2.2异步编程2.3LINQ第三章.NetCore核心基础组件3.1依赖注入3.2配置系统3.3日志第四章EntityFrameworkCore基础4.1EFCore4.2EFCore的实体配置4.3数据库迁移4.4关系配置第五章EFCore高... 查看详情

asp.netcore入门教程1使用asp.netcore构建第一个web应用(代码片段)

原文:ASP.NETCore入门教程1、使用ASP.NETCore构建第一个Web应用一、前言1、本文主要内容VisualStudioCode开发环境配置使用ASP.NETCore构建Web应用ASP.NETCoreWeb应用启动类说明ASP.NETCoreWeb项目结构说明2、本教程环境信息软件/环境说明操作系统Wi... 查看详情

asp.netcore入门教程1使用asp.netcore构建第一个web应用(代码片段)

...、前言1、本文主要内容VisualStudioCode开发环境配置使用ASP.NETCore构建Web应用ASP.NETCoreWeb应用启动类说明ASP.NETCoreWeb项目结构说明2、本教程环境信息软件/环境说明操作系统Windows10SDK2.1.401ASP.NETCore2.1.3IDEVisualStudioCode1.27浏览器Chrome693、... 查看详情

efcore(codefirst)通过自定义migrationhistory实现多租户使用同一数据库时更新数据库结构(代码片段)

...re实现多租户的时候,遇到的问题。具体文章的链接:Asp.netcore下利用EFcore实现从数据实现多租户(1)Asp.netcore下利用EFcore实现从数据实现多租户(2):按表分离  (主要关联文章)这里我遇到的最主要问题是:由于多租户... 查看详情

asp.netcore使用autofac依赖注入(代码片段)

 实现代码1、新建接口类:IRepository.cs,规范各个操作类的都有那些方法,方便管理。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Linq.Expressions;usingSystem.Text;namespaceCMS.Entity.Interfacespublicint 查看详情

text使用imagesharp调整asp.netcore中的图像大小(代码片段)

查看详情

asp.netcore使用静态文件目录游览与mime类型管理(代码片段)

原文:ASP.NETCore使用静态文件、目录游览与MIME类型管理前言今天我们来了解了解ASP.NETCore中的静态文件的处理方式.以前我们寄宿在IIS中的时候,很多静态文件的过滤和相关的安全措施都已经帮我们处理好了.ASP.NETCore则不同,因为是跨... 查看详情

asp.netcore使用ping判断网络是否接通(代码片段)

staticvoidMain(string[]args)//主机地址stringtargetHost="bing.com";stringdata="Helloworld";PingpingSender=newPing();PingOptionsoptions=newPingOptionsDontFragment=true;byte[]buffer=Encoding.ASCII.GetByte 查看详情

[十一]asp.netcore中的taghelper(代码片段)

Taghelper一、ASP.NETCore中的Taghelper(1)导入内置TagHelpers(2)使用Taghelper生成链接(3)为什么要使用Taghelper(标记助手)(4)ASP.NETCoreImage标记助手(TagHelper)(5)A 查看详情

asp.netcore依赖注入基本用法(代码片段)

ASP.NETCore依赖注入ASP.NETCore从框架层对依赖注入提供支持。也就是说,如果你不了解依赖注入,将很难适应ASP.NETCore的开发模式。本文将介绍依赖注入的基本概念,并结合代码演示如何在ASP.NETCore中使用依赖注入。什么是依赖注入... 查看详情

asp.netcore中middleware的使用(代码片段)

 ASP.NET5中Middleware的基本用法在ASP.NET5里面引入了OWIN的概念,大致意思是将网站部署、服务器、中间组件以及应用分离开,这里提到的Middleware就是中间组件。这里引用asp.net网站的介绍图Middleware的作用有点类似于httpmodule,服... 查看详情

创建基于asp.netcore3.1的razorpagesmovie项目-应用模型类配合基架生成工具生成razor页面(代码片段)

...用于管理跨平台的SQLLite数据库中的电影的类Movie。从ASP.NETcore模板创建的应用使用SQLLite数据库。应用模型类(Movie)配合EntityFrameworkcore(简称EFcore,这是一种对象关系映射框架(ORM),它可以简化数据访问)使用,以处理数据库... 查看详情

asp.netcore依赖注入(di)(代码片段)

原文:ASP.NETCore依赖注入(DI)  ASP.NETCore的底层设计支持和使用依赖注入。ASP.NETCore应用程序可以利用内置的框架服务将服务注入到启动类的方法中,并且应用程序服务也可以配置注入。由ASP.NETCore提供的默认服务容器提供了最小... 查看详情

asp.netcore使用nlog记录日志(代码片段)

1、根目录新建nlog.config配置文件<?xmlversion="1.0"?><nlogxmlns="http://www.nlog-project.org/schemas/NLog.xsd"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"autoReload="true"internalLogLevel="Warn 查看详情

efcore快速上手——efcore入门

...系统上。它使用EFCore来命名的主要原因,确实是因为他是.NETCore原创的一部分(但是.NETCore也可以用于现存的.NETFramework)。??EFCore,ASP.NETCore(服务端APP),和.NETCore都是开源的,并且都有提供给开发团队交流的活跃的issues页面。??EFCore不是Ent... 查看详情