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

.Net Core Entity Framework Core 的基礎(chǔ)封裝 -數(shù)據(jù)庫(kù)操作攔截器

這篇具有很好參考價(jià)值的文章主要介紹了.Net Core Entity Framework Core 的基礎(chǔ)封裝 -數(shù)據(jù)庫(kù)操作攔截器。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

自己制作的一個(gè)基于Entity Framework Core 的數(shù)據(jù)庫(kù)操作攔截器,可以打印數(shù)據(jù)庫(kù)執(zhí)行sql,方便開(kāi)發(fā)調(diào)試,代碼如下:

/// <summary>
/// EF Core 的數(shù)據(jù)庫(kù)操作攔截器,用于在數(shù)據(jù)庫(kù)操作過(guò)程中進(jìn)行日志記錄和監(jiān)視。
/// </summary>
/// <remarks>
/// 作者:我只吃飯不洗碗
/// 創(chuàng)建日期:2024年1月29日
/// </remarks>
public class LoggingInterceptor : DbCommandInterceptor
{
    /// <summary>
    /// 在執(zhí)行查詢命令之前攔截并輸出日志。
    /// </summary>
    /// <param name="command">要執(zhí)行的查詢命令。</param>
    /// <param name="eventData">命令事件數(shù)據(jù)。</param>
    /// <param name="result">攔截結(jié)果。</param>
    /// <returns>攔截結(jié)果。</returns>
    public override InterceptionResult<DbDataReader> ReaderExecuting(DbCommand command, CommandEventData eventData, InterceptionResult<DbDataReader> result)
    {
        var fullCommandText = command.CommandText;

        foreach (DbParameter param in command.Parameters)
        {
            var paramValue = param.Value is string ? $"'{param.Value}'" : param.Value.ToString();
            fullCommandText = fullCommandText.Replace(param.ParameterName, paramValue);
        }
        Console.WriteLine($"Executing query: {fullCommandText}");
        return base.ReaderExecuting(command, eventData, result);
    }

    /// <summary>
    /// 在執(zhí)行非查詢命令之前攔截并輸出日志。
    /// </summary>
    /// <param name="command">要執(zhí)行的非查詢命令。</param>
    /// <param name="eventData">命令事件數(shù)據(jù)。</param>
    /// <param name="result">攔截結(jié)果。</param>
    /// <returns>攔截結(jié)果。</returns>
    public override InterceptionResult<int> NonQueryExecuting(DbCommand command, CommandEventData eventData, InterceptionResult<int> result)
    {
        var fullCommandText = command.CommandText;

        foreach (DbParameter param in command.Parameters)
        {
            var paramValue = param.Value is string ? $"'{param.Value}'" : param.Value.ToString();
            fullCommandText = fullCommandText.Replace(param.ParameterName, paramValue);
        }
        Console.WriteLine($"Executing non-query command: {fullCommandText}");
        return base.NonQueryExecuting(command, eventData, result);
    }

    /// <summary>
    /// 在執(zhí)行標(biāo)量查詢命令之前攔截并輸出日志。
    /// </summary>
    /// <param name="command">要執(zhí)行的標(biāo)量查詢命令。</param>
    /// <param name="eventData">命令事件數(shù)據(jù)。</param>
    /// <param name="result">攔截結(jié)果。</param>
    /// <returns>攔截結(jié)果。</returns>
    public override InterceptionResult<object> ScalarExecuting(DbCommand command, CommandEventData eventData, InterceptionResult<object> result)
    {

        var fullCommandText = command.CommandText;

        foreach (DbParameter param in command.Parameters)
        {
            var paramValue = param.Value is string ? $"'{param.Value}'" : param.Value.ToString();
            fullCommandText = fullCommandText.Replace(param.ParameterName, paramValue);
        }
        Console.WriteLine($"Executing scalar query: {fullCommandText}");
        return base.ScalarExecuting(command, eventData, result);
    }
}

運(yùn)行結(jié)果如下:

.Net Core Entity Framework Core 的基礎(chǔ)封裝 -數(shù)據(jù)庫(kù)操作攔截器

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-836394.html

到了這里,關(guān)于.Net Core Entity Framework Core 的基礎(chǔ)封裝 -數(shù)據(jù)庫(kù)操作攔截器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • NET Core添加 Sqlite 數(shù)據(jù)庫(kù)

    NET Core添加 Sqlite 數(shù)據(jù)庫(kù)

    .net framework 命令行項(xiàng)目使用 sqlite,DbContext C# .NET EF框架 webapi 安裝使用sqlite visual studio 2022,ADO.NET 實(shí)體數(shù)據(jù)模型添加 sqlite數(shù)據(jù)庫(kù)對(duì)象 Visual Studio 2022 .NET Core 6.0 Microsoft.EntityFrameworkCore.Sqlite Microsoft.EntityFrameworkCore.Sqlite.Core Newtonsoft.Json ORMContext Program.cs 測(cè)試結(jié)果 Sqlite3是個(gè)特別好的本

    2024年02月11日
    瀏覽(22)
  • Net Core中使用EF Core連接Mysql數(shù)據(jù)庫(kù)

    Net Core中使用EF Core連接Mysql數(shù)據(jù)庫(kù)

    Entity Framework Core的前身是微軟提供并主推的ORM框架,簡(jiǎn)稱EF,其底層是對(duì)ADO.NET的封裝。EF支持SQLServer、MYSQL、Oracle、Sqlite等所有主流數(shù)據(jù)庫(kù)。 首先是使用時(shí)的幾個(gè)模式的整理及其理解: Code First:根據(jù)代碼自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu)甚至是數(shù)據(jù)庫(kù),可以支持多庫(kù)開(kāi)發(fā),代碼較少冗余

    2024年01月24日
    瀏覽(28)
  • .NET Core/.NET6 使用DbContext 連接數(shù)據(jù)庫(kù),SqlServer

    .NET Core/.NET6 使用DbContext 連接數(shù)據(jù)庫(kù),SqlServer

    安裝以下NuGet包 Microsoft.EntityFrameworkCore.SqlServer:SQL server 需要添加包 Microsoft.EntityFrameworkCore.Tools Newtonsoft.Json:用于Json格式轉(zhuǎn)換 創(chuàng)建一個(gè)實(shí)體類來(lái)表示數(shù)據(jù)庫(kù)表。在項(xiàng)目中創(chuàng)建一個(gè)名為Customer.cs的文件,并添加以下代碼 創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)上下文類,用于定義實(shí)體類和數(shù)據(jù)庫(kù)連接

    2024年02月07日
    瀏覽(26)
  • .net core .net6 讀取數(shù)據(jù)庫(kù) 讀取配置文件 保姆級(jí)教程

    .net core .net6 讀取數(shù)據(jù)庫(kù) 讀取配置文件 保姆級(jí)教程

    本文環(huán)境 Microsoft Visual Studio 2022 .Net6 SQLServer2019 在解決方案管理器右鍵添加相關(guān)的包,如下兩個(gè)包 Microsoft.Data.SqlClient SQLServer SQLServer數(shù)據(jù)庫(kù) Microsoft.Extensions.Configuration.Json json配置文件 添加配置文件 appsettings.json,選始終復(fù)制 添加json配置文件內(nèi)容如下 DefaultConnection 根據(jù)自己的

    2024年02月08日
    瀏覽(24)
  • NET Core 6.0 webapi 簡(jiǎn)單使用+連接數(shù)據(jù)庫(kù)

    NET Core 6.0 webapi 簡(jiǎn)單使用+連接數(shù)據(jù)庫(kù)

    ASP.NET core NET core 6.0 如何使用 在 Program.cs里面 添加對(duì)應(yīng)注釋 效果: Microsoft.EntityFrameworkCore.Sqlite Microsoft.EntityFrameworkCore.Sqlite.Core Newtonsoft.Json:用于Json格式轉(zhuǎn)換 添加測(cè)試Api Tips:這里用到ORM查詢語(yǔ)法 EntityFramework EF 常用增刪改查語(yǔ)句 運(yùn)行結(jié)果

    2024年02月09日
    瀏覽(23)
  • 如何使用 .Net Core 實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移 (Database Migration)

    如何使用 .Net Core 實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移 (Database Migration)

    當(dāng)我們?cè)诰帉?xiě)基于數(shù)據(jù)庫(kù)的應(yīng)用程序時(shí),隨著需求的增加和改變,我們需要升級(jí)我們的數(shù)據(jù)庫(kù),變更數(shù)據(jù)庫(kù)表的字段,當(dāng)我們的系統(tǒng)的不同版本被部署到了不同的客戶那里,在需要給客戶升級(jí)時(shí),我們?nèi)绾螌?shí)現(xiàn)數(shù)據(jù)庫(kù)模式 (schema) 的自動(dòng)升級(jí)呢? 傳統(tǒng)的管理辦法是針對(duì)每個(gè)數(shù)

    2024年02月05日
    瀏覽(24)
  • ASP.NET Core MVC 從入門到精通之?dāng)?shù)據(jù)庫(kù)

    ASP.NET Core MVC 從入門到精通之?dāng)?shù)據(jù)庫(kù)

    隨著技術(shù)的發(fā)展,ASP.NET Core MVC也推出了好長(zhǎng)時(shí)間,經(jīng)過(guò)不斷的版本更新迭代,已經(jīng)越來(lái)越完善,本系列文章主要講解ASP.NET Core MVC開(kāi)發(fā)B/S系統(tǒng)過(guò)程中所涉及到的相關(guān)內(nèi)容,適用于初學(xué)者,在校畢業(yè)生,或其他想從事ASP.NET Core MVC 系統(tǒng)開(kāi)發(fā)的人員。 經(jīng)過(guò)前幾篇文章的講解,初步

    2023年04月27日
    瀏覽(25)
  • .NET6 + EF Core + MySQL 創(chuàng)建實(shí)體和數(shù)據(jù)庫(kù)、EFCore 數(shù)據(jù)遷移

    .NET6 + EF Core + MySQL 創(chuàng)建實(shí)體和數(shù)據(jù)庫(kù)、EFCore 數(shù)據(jù)遷移

    接上期文章《.NET6項(xiàng)目連接數(shù)據(jù)庫(kù)方式方法》,有人問(wèn)了我?guī)讉€(gè)問(wèn)題,現(xiàn)在就這幾個(gè)問(wèn)題,拓展延申一下創(chuàng)建實(shí)體類、數(shù)據(jù)庫(kù)。把ORM框架和數(shù)據(jù)遷移都寫(xiě)進(jìn)去。 我的項(xiàng)目是在Linux上創(chuàng)建的,使用的是vscode開(kāi)發(fā)工具遠(yuǎn)程開(kāi)發(fā)。為了方便大家閱讀和操作,我將項(xiàng)目down到我的本地電

    2024年02月05日
    瀏覽(23)
  • .net 6 EF Core MySql數(shù)據(jù)庫(kù)表生成實(shí)體類命令

    安裝下面這幾個(gè)包 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.Tools Microsoft.EntityFrameworkCore.Design Pomelo.EntityFrameworkCore.MySql Scaffold-DbContext “server=127.0.0.1;port=3306;database=DB;uid=root;pwd=pwdpwd;sslmode=none;” Pomelo.EntityFrameworkCore.MySql -OutputDir Models -Force -NoOnConfiguring -NoPluralize -Context “D

    2024年02月05日
    瀏覽(23)
  • 在Linux平臺(tái)下使用.NET Core訪問(wèn)Access數(shù)據(jù)庫(kù)讀取mdb文件數(shù)據(jù)

    今天有群友在群里問(wèn) C# 能不能在 Linux 下訪問(wèn) Access數(shù)據(jù)庫(kù) ? 我覺(jué)得這很有趣,因此研究折騰了一下,也因?yàn)楹芫脹](méi)有寫(xiě)博文了,所以特意上來(lái)寫(xiě)博文分享經(jīng)驗(yàn)。 操作系統(tǒng): Ubuntu 22.04.3 LTS (Jammy) 開(kāi)發(fā)工具: Visual Studio 2022 (17.8.0) 運(yùn)行時(shí)版本: .NET Runtime 8.0 依賴庫(kù): unixodbc 、

    2024年02月05日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包