国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

EF Core + MySQL 基本增刪改查

這篇具有很好參考價值的文章主要介紹了EF Core + MySQL 基本增刪改查。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

基于EF Core + MySQL的基本增刪改查,示例是基于.NET6 + EF Core + MySQL 創(chuàng)建實體和數(shù)據(jù)庫、EFCore 數(shù)據(jù)遷移項目基礎(chǔ)上的內(nèi)容增加。同時也是對基于Canal實現(xiàn)MySQL 8.0 數(shù)據(jù)庫數(shù)據(jù)同步項目的驗證。

創(chuàng)建控制器

Controllers---->添加---->控制器,選擇api---->包含讀寫操作的API控制器。
EF Core + MySQL 基本增刪改查
EF Core + MySQL 基本增刪改查
EF Core + MySQL 基本增刪改查

依賴注入

將上下文類注入到UsersController中,ASP.NET Core 支持依賴關(guān)系注入 (DI) 軟件設(shè)計模式,這是一種在類及其依賴關(guān)系之間實現(xiàn)控制反轉(zhuǎn) (IoC) 的技術(shù)。有三種具體實現(xiàn)方式,我們這里用到的是構(gòu)造函數(shù)注入,關(guān)于這塊的內(nèi)容,以后我們也可以專門出一期。直接上代碼。

		private readonly MyDataBaseContext_mian _dbmain;
        private readonly MyDataBaseContext_from _dbfrom;
        public UsersController(MyDataBaseContext_mian dbmain, MyDataBaseContext_from dbfrom)
        {
            _dbmain = dbmain;
            _dbfrom = dbfrom;
        }

CRUD基本代碼

一下內(nèi)容是UsersController的完整內(nèi)容

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using test.Models;
using test.MyDataBaseContext;

namespace test.Controllers
{
    [ApiController]
    [Route("api/[controller]")]
    public class UsersController : Controller
    {
        private readonly MyDataBaseContext_mian _dbmain;
        private readonly MyDataBaseContext_from _dbfrom;
        public UsersController(MyDataBaseContext_mian dbmain, MyDataBaseContext_from dbfrom)
        {
            _dbmain = dbmain;
            _dbfrom = dbfrom;
        }
        [HttpGet]
        // GET: UsersController
        public IEnumerable<User> Index()
        {
            return _dbfrom.Users.ToList();
        }

        [HttpGet("{id}")]
        // GET: UsersController/Details/5
        public async Task<IActionResult> Details(int? id)
        {
            return CreatedAtAction(nameof(Index), await _dbfrom.Users.AsNoTracking().FirstOrDefaultAsync(m => m.UserId == id));
        }

        // POST: UsersController/Create
        [HttpPost]
        public async Task<IActionResult> Create(User user)
        {
            _dbmain.Users.Add(user);
            await _dbmain.SaveChangesAsync();
            return CreatedAtAction(nameof(Index), new { id = user.UserId }, user);
        }

       // POST: UsersController/Edit/5
        [HttpPut("{id}")]
        public async Task<bool> Edit(int? id, [FromBody] User user)
        {
            _dbmain.Set<User>().Update(user);
            return await _dbmain.SaveChangesAsync() > 0;
        }

        // POST: UsersController/Delete/5
        [HttpDelete("{id}")]
        public async Task<IActionResult> Delete(int id)
        {

            User user = new User();

            user = await _dbmain.Users.FindAsync(id);
            if (user == null)
            {
                return RedirectToAction(nameof(Index));
            }
            try
            {
                _dbmain.Users.Remove(user);
                await _dbmain.SaveChangesAsync();
                return RedirectToAction(nameof(Index));
            }
            catch (DbUpdateException /* ex */)
            {
                //Log the error (uncomment ex variable name and write a log.)
                return RedirectToAction(nameof(Index), new { id = id, saveChangesError = true });
            }

        }
    }
}

注:我對方法進行的改造,采用官網(wǎng)提供的新寫法,有興趣的小伙伴可以看看官網(wǎng)。

swagger接口測試文檔看效果

向主庫添加用戶信息

EF Core + MySQL 基本增刪改查
EF Core + MySQL 基本增刪改查

從庫查詢用戶信息

EF Core + MySQL 基本增刪改查

從庫查詢詳細信息

EF Core + MySQL 基本增刪改查
EF Core + MySQL 基本增刪改查

主庫修改用戶信息

EF Core + MySQL 基本增刪改查

再從從庫查詢用戶信息

EF Core + MySQL 基本增刪改查

刪除用戶信息

EF Core + MySQL 基本增刪改查
EF Core + MySQL 基本增刪改查
到此,EFCore的增刪改查就完事了。有不懂的小伙伴可以把問題打在評論區(qū),我來為大家解答。文章來源地址http://www.zghlxwxcb.cn/news/detail-476635.html

到了這里,關(guān)于EF Core + MySQL 基本增刪改查的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • EF Core入門

    EF Core入門

    EF Core是微軟官方提供的ORM框架。EF Core不僅可以操作Microsoft SQL Server、MySQL、Oracle、PostgreSQL等數(shù)據(jù)庫,而且可以操作Azure Cosmos DB等NoSQL數(shù)據(jù)庫 前提條件:已經(jīng)完整安裝了Microsoft SQL Server 下面是一個實際操作EF Core的演示 這是項目最終的目錄,這里需要關(guān)注的就是 .cs 文件 首先新

    2023年04月09日
    瀏覽(18)
  • EF Core并發(fā)控制

    EF Core并發(fā)控制

    并發(fā)控制:避免多個用戶同時操作資源造成的并發(fā)沖突問題。 最好的解決方案:非數(shù)據(jù)庫解決方案 數(shù)據(jù)庫層面的兩種策略:悲觀、樂觀 悲觀并發(fā)控制一般采用行鎖 ,表鎖等排他鎖對資源進行鎖定,確保同時只有一個使用者操作被鎖定的資源。 EF Core沒有封裝悲觀并發(fā)控制的

    2024年02月10日
    瀏覽(20)
  • 【MySQL】基本查詢之表的增刪改查

    【MySQL】基本查詢之表的增刪改查

    CRUD : Create(創(chuàng)建), Retrieve(讀取),Update(更新),Delete(刪除) 創(chuàng)建user表并設(shè)置四個字段 注意:insert into可以省略成 insert 由于 主鍵 或者 唯一鍵 對應(yīng)的值已經(jīng)存在而導(dǎo)致插入失敗,可以選擇性的進行同步更新操作 注意:更新的數(shù)據(jù)也不能和其他數(shù)據(jù)沖突 創(chuàng)建數(shù)據(jù)表并添加數(shù)據(jù)

    2024年02月17日
    瀏覽(24)
  • 【EF Core】實體的主、從關(guān)系

    【EF Core】實體的主、從關(guān)系

    假設(shè)有以下兩個實體: Homework 類表示家庭作業(yè),它并不是獨立使用的,而是與學(xué)生類(Student)有依賴關(guān)系。一位學(xué)生有多個家庭作業(yè)記錄,即 Homework 對象用于記錄每位同學(xué)的作業(yè)的。按照這樣的前提,Student 是主對象,Homework 是從對象。 Student 對象有個 Homeworks 屬性,用于引

    2024年02月11日
    瀏覽(23)
  • 使用EF Core創(chuàng)建webapi接口(二)

    使用EF Core創(chuàng)建webapi接口(二)

    有錯誤歡迎大家給我指正 說明:netcore webapi+net6+EF?Core版本,codefirst模式(代碼創(chuàng)建數(shù)據(jù)庫) 1.netcore webapi+net6+EF?Core版本,dbfirst模式(代碼生成數(shù)據(jù)庫)見:使用EF Core創(chuàng)建webapi接口(一)-CSDN博客 2.netcore webapi+net6+EF?Core+vue前后端聯(lián)動版本,見netcore webapi+net6+EF Core+vue3前后端聯(lián)動-CSD

    2024年02月21日
    瀏覽(25)
  • EF Core 在實際開發(fā)中,如何分層?

    EF Core 在實際開發(fā)中,如何分層?

    分層就是將 EF Core 放在單獨的項目中,其它項目如 Asp.net core webapi 項目引用它 這樣的好處是解耦和項目職責(zé)的清晰劃分,并且可以重用 EF Core 項目 但是也會數(shù)據(jù)庫遷移變得復(fù)雜起來 創(chuàng)建一個 .NET 類庫項目,項目名字為 BooksEFCore 引用以下 Nuget 包 Microsoft.EntityFrameworkCore.Relati

    2024年01月24日
    瀏覽(25)
  • EF Core預(yù)編譯模型Compiled Model

    EF Core預(yù)編譯模型Compiled Model

    最近還在和 npgsql 與 EF Core 斗爭,由于 EF Core 暫時還不支持 AOT,因此在 AOT 應(yīng)用程序中使用 EF Core 時,會提示問題: 聽這個意思,似乎使用 Compiled Model 可以解決問題,于是就又研究了一下 EF Core 的這個功能。 在 EF Core 中,模型根據(jù)實體類和配置構(gòu)建,默認(rèn)情況下,每次創(chuàng)建

    2024年02月05日
    瀏覽(19)
  • Ef Core花里胡哨系列(4) 多租戶

    當(dāng)然,我們要考慮設(shè)計問題,例如,切換 Schema 或者改變數(shù)據(jù)庫時, Ef Core 同樣也會刷新改實體的緩存,所以,首次查詢將會很慢,不適合大表。 在我的上一篇博客中 [Ef Core花里胡哨系列(3) 動態(tài)修改實體對應(yīng)的表(分表)、多租戶] 中我們實現(xiàn)了如何分表,同理,我們可以用近

    2024年02月03日
    瀏覽(19)
  • 如何在 EF Core 中使用樂觀并發(fā)控制

    如何在 EF Core 中使用樂觀并發(fā)控制

    樂觀并發(fā)控制是一種處理并發(fā)訪問的數(shù)據(jù)的方法,它基于一種樂觀的假設(shè),即認(rèn)為并發(fā)訪問的數(shù)據(jù)沖突的概率很低。在樂觀并發(fā)控制中,系統(tǒng)不會立即對并發(fā)訪問的數(shù)據(jù)進行加鎖,而是在數(shù)據(jù)被修改時,再檢查是否有其他并發(fā)操作已經(jīng)修改了數(shù)據(jù)。如果檢測到?jīng)_突,系統(tǒng) 再采

    2024年02月04日
    瀏覽(18)
  • EF Core實操,數(shù)據(jù)庫生成實體,遷移

    EF Core實操,數(shù)據(jù)庫生成實體,遷移

    大家好,我是行不更名,坐不改姓的宋曉剛,下面將帶領(lǐng)大家進入C#編程EF Core數(shù)據(jù)庫基礎(chǔ)入門知識,如何連接數(shù)據(jù)庫,如何編寫代碼,跟上我的步伐進入EF Core數(shù)據(jù)庫下的世界。 家人們,如果有什么不懂,可以留言,或者加我聯(lián)系方式,一起進入微軟技術(shù)的開拓。 微信:153

    2024年01月22日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包