netcore mvc efcore 简单框架搭建+增删改查

该例子使用的数据库是 mysql;.net core 框架,版本(sdk)是3.1。

一:创建个net core 版本的mvc

netcore mvc efcore 简单框架搭建+增删改查

 目标框架选   net core3.1

netcore mvc efcore 简单框架搭建+增删改查

 二:项目创建好之后  先安装今天要使用到的nuget包(下载的包最好也是3.1版本的)

Microsoft.EntityFrameworkCore;

Microsoft.EntityFrameworkCore.Design;

Microsoft.EntityFrameworkCore.Tools;

Pomelo.EntityFrameworkCore.MySql;

例如:(你可以手动用nuget界面安装,也可以写语句安装

netcore mvc efcore 简单框架搭建+增删改查

 三:整体配置

1.数据库连接在appsettings.json里

//连接数据库
  "AppConfig": {
    "AesKey": "11*222sdf52sf2f2fsdf/.*222,ssddd",
    "DbConn": "Server=localhost;port=3306;database=user;uid=root;pwd=root;Convert Zero Datetime=True;"

  }

 

 2.创建一个类 :AppConfig

public class AppConfig
    {
        /// <summary>
        /// Aes密钥
        /// </summary>
        public string AesKey { get; set; }

        /// <summary>
        /// 数据库链接字符串
        /// </summary>
        public string DbConn { get; set; }
    }

 

3.添加一个类:NetcoremvcDbcontext作为上下文,并且继承: DbContext类

 public class NetcoremvcDbcontext : DbContext
    {
        private string _connectionString;

 
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            var connectionString = _connectionString;
            //连接数据库UseMySql关键词
            //MaxBatchSize一个指示将编译为单个批处理的最大页数的整数值。 默认页数为 1000。(当前最大处理量是30条)
            optionsBuilder.UseMySql(connectionString, b => b.MaxBatchSize(30));


        }
        public NetcoremvcDbcontext(IOptionsSnapshot<AppConfig> options)
        {
            _connectionString = options.Value.DbConn;
        }

        public DbSet<User> User { get; set; }
    }

 

四:创建一个实体类

 public class User
    {
        public string Id { get; set; }

        public string Name { get; set; }

        public string Phone { get; set; }

        public int Age { get; set; }

        public string Like { get; set; }
    }

 

五:创建一个新的带有模板的视图控制器

1. 创建新的控制器

netcore mvc efcore 简单框架搭建+增删改查

 

 2.选中你的实体

netcore mvc efcore 简单框架搭建+增删改查

netcore mvc efcore 简单框架搭建+增删改查

 

 六:文件startup配置

因为启动项program默认指向startup,所以配置都写在startup里

首先startup文件ConfigureServices方法中添加

 services.AddDbContext<NetcoremvcDbcontext>();
 services.Configure<AppConfig>(Configuration.GetSection("AppConfig"));

netcore mvc efcore 简单框架搭建+增删改查

 

startup中Configure方法里的路由换成你自己项目的默认路由

netcore mvc efcore 简单框架搭建+增删改查

 七:连接数据库和模型迁移

1.找到程序包管理后台输入添加语句:Add-Migration init1 添加新的迁移

成功后项目中会出现一个名为Migrations的文件夹

netcore mvc efcore 简单框架搭建+增删改查

说明生成成功了 

2.更新语句:Update-Database

netcore mvc efcore 简单框架搭建+增删改查

 更新语句是更新数据库到指定的迁移

 查看数据库中表已经创建了

netcore mvc efcore 简单框架搭建+增删改查

 

 使用这个mvc视图模板创建的控制器和视图可以自动生成简单地   增删改查方法,现在去看下你新创建的控制器是不是有基础的增删改查,你也可以运行一下项目看效果

下面是我的效果图

netcore mvc efcore 简单框架搭建+增删改查

该文章的对象关系映射只是用了最简单的,我觉得最合适最好用的请查看文章 :EF Core对象关系映射多种方法

这个例子很简单建议自己动手写。

百度网盘

链接:https://pan.baidu.com/s/1g0F3jH2aou9Ka7X0ulKhHg
提取码:dtsp

 

原文链接:https://www.cnblogs.com/ererjie520/p/17325166.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:netcore mvc efcore 简单框架搭建+增删改查 - Python技术站

(0)
上一篇 2023年4月22日
下一篇 2023年4月22日

相关文章

  • 如何用C#获取计算机详细的软件和硬件信息

    当使用C#语言编写桌面应用程序时,有时需要获取计算机的详细软硬件信息,例如操作系统、处理器、内存、硬盘、显卡、声卡等信息。本文将为您提供一份完整攻略,介绍如何使用C#获取计算机的诸多硬件和软件信息。 第一步:导入必要的命名空间 首先,我们需要使用以下命名空间来访问相关API: using System.Management; //用于WMI操作 using …

    C# 2023年6月6日
    00
  • 扩展 Entity Framework支持复杂的过滤条件(多个关键字模糊匹配)

    要扩展 Entity Framework 的过滤条件以支持复杂的过滤条件(如多个关键字的模糊匹配),需要用到 Lambda 表达式和 LINQ 功能。下面是完整的攻略: 1. 定义扩展方法 我们可以通过在静态类中定义扩展方法来扩展 Entity Framework 的过滤条件。这里我们定义一个名为 FilterByKeywords 的扩展方法: public…

    C# 2023年6月3日
    00
  • 详解C# 中Session的用法

    详解C# 中Session的用法 什么是Session Session 是指会话,在 Web 应用程序中,它表示从客户端发来的一系列HTTP请求和响应交互。Session 可以用来存储和检索任何类型的对象,且这些对象在整个 Session 生命周期内都可以使用。在 ASP.NET 中可以使用 Session 对象来在服务器上存储和检索用户特定的信息。Sess…

    C# 2023年6月7日
    00
  • C#中explicit与implicit的深入理解

    C#中的explicit(显式转换)和implicit(隐式转换)主要是用来进行类型转换的。下面我将详细讲解这两种类型转换的深入理解以及使用示例。 显式转换 explicit 显式转换也就是强制类型转换,可以将整型强制转换为浮点型,或者可以将长整型转换为整型等等。显式转换需要使用类型转换运算符,可以直接把一个数据类型转换成另外一个数据类型,但如果转换时发生精…

    C# 2023年5月15日
    00
  • C#中判断、验证字符串是否为日期格式的实现代码

    在C#中判断验证字符串是否为日期格式,我们可以使用DateTime.TryParseExact()方法或DateTime.TryParse()方法进行实现。 DateTime.TryParseExact()方法 该方法可以指定字符串的日期时间格式进行验证,如果能够被转换成DateTime类型,返回值为true,否则为false。 示例一 以下代码演示了输入日…

    C# 2023年6月1日
    00
  • .net如何使用Cache框架给程序添加Cache

    使用Cache框架可以加速程序的响应速度,提高程序的性能。在.NET中,使用Cache框架很简单,本文将介绍如何使用Cache框架给程序添加Cache。 1. 创建和配置Cache对象 在.NET中,使用System.Web.Caching.Cache类来创建和配置Cache对象。创建Cache对象有多种方式,可以使用全局的HttpRuntime.Cache…

    C# 2023年6月3日
    00
  • C# Replace替换的具体使用

    下面是关于 C# Replace 方法的详细讲解: 什么是 C# Replace 方法? C# Replace 方法是一个字符串方法,用于替换字符串中出现的指定字符或子字符串。它属于 System.String 类,并且是一个静态方法,可以直接通过字符串变量名调用。 Replace 方法的基本使用 Replace 方法最基本的使用形式如下: string r…

    C# 2023年6月7日
    00
  • c# 复写Equals方法的实现

    下面详细讲解如何复写 C# 中的 Equals 方法。 1. 什么是 Equals 方法 在 C# 中,查看任何对象是否相等时,我们可以使用 Equals 方法。Equals 方法是一个虚方法,它是 Object 类的一部分,也就是说,所有的类都继承自 Object 类并从中继承了 Equals 方法。 默认实现是比较两个对象的引用,如果它们引用相同的对象,…

    C# 2023年6月1日
    00
合作推广
合作推广
分享本页
返回顶部