您好,登錄后才能下訂單哦!
這篇文章主要講解了“.NET如何集成ORM框架HiSql”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“.NET如何集成ORM框架HiSql”吧!
做.Net這么多年,出現了很多很多ORM框架,比如Dapper,Sqlsugar,Freesql等等。在之前的項目中,用到的ORM框架也大多數是這幾個老牌的框架。
1、安裝 HiSql 核心包、 HiSql.SqlServer。
2、在項目中新建類文件 HiSqlSetupExtension.cs, 用于注入數據庫配置,hisql數據庫訪問對象。
using HiSql; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using System; namespace H.CRM.Action.API.Helper { public static class HiSqlSetupExtension { public static IServiceCollection AddHiSqlSetup(this IServiceCollection services) { //注入HiSqlConfig services.AddTransient<HiSqlConfig>(); //注入HiSqlClient services.AddTransient<HiSqlClient>((d) => { var config = d.GetService<HiSqlConfig>(); var hisql = new HiSqlClient(config); return hisql; }); return services; } } class HiSqlConfig : ConnectionConfig { static readonly NLog.Logger logger = NLog.LogManager.GetLogger("HiSqlSetup"); public HiSqlConfig(IConfiguration configuration) { DbType = DBType.SqlServer; DbServer = "HISQL"; ConnectionString = configuration.GetSection("ConnectionStrings:Admin").Value; Schema = "dbo"; SqlExecTimeOut = 1000 * 5; AppEvents = new AopEvent() { OnDbDecryptEvent = (connstr) => { //解密連接字段 return connstr; }, OnLogSqlExecuting = (sql, param) => { //sql執(zhí)行前 日志記錄 (異步) #if DEBUG logger.Trace($"執(zhí)行前sql:{sql} time:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff")}"); #endif }, OnLogSqlExecuted = (sql, param) => { #if DEBUG //sql執(zhí)行后 日志記錄 (異步) logger.Trace($"執(zhí)行后sql:{sql} time:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff")}"); #endif }, OnSqlError = (sqlEx) => { //sql執(zhí)行錯誤后 日志記錄 (異步) logger.Error($"執(zhí)行錯誤:{sqlEx.Message} sql:{sqlEx.Sql} time:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff")}"); }, OnTimeOut = (int timer) => { //logger.Trace($"執(zhí)行超時:{timer} time:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ffff")}"); } }; } } }
3、在 Startup 中的ConfigureServices方法中,添加 hisql的使用。
//注入Hisql相關 services.AddHiSqlSetup();
4、新建 控制器 HiSqlController,添加初始化方法。
using Microsoft.AspNetCore.Mvc; using HiSql; using System.Linq; namespace HSMB.Admin.WebApi.Controllers { [Route("api/[controller]/[action]")] [ApiController] public class HiSqlController : ControllerBase { private readonly HiSqlClient sqlClient; public HiSqlController( HiSqlClient hiSqlClient ) { this.sqlClient = hiSqlClient; } [HttpGet, HttpPost] public IActionResult Install() { sqlClient.CodeFirst.InstallHisql(); var tables = sqlClient.DbFirst.GetTables().ToList().Where(t=>t.TabName.StartsWith("H")); return new JsonResult(tables); } } }
5、啟動項目后,訪問 項目地址 http://localhost:8868/api/hisql/Install 初始化hisql。
如圖表示初始化成功,同時在數據庫也可以看到,系統(tǒng)創(chuàng)建了下圖的4個基礎表:
1.Hi_TabModel #表結構信息主表
2.Hi_FieldModel #表結構信息明細表
3.Hi_Domain #數據域
4.Hi_DataElement #數據元素
感謝各位的閱讀,以上就是“.NET如何集成ORM框架HiSql”的內容了,經過本文的學習后,相信大家對.NET如何集成ORM框架HiSql這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。