日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

EFCore+Mysql仓储层建设(分页、多字段排序、部分字段更新)

發(fā)布時間:2023/12/4 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EFCore+Mysql仓储层建设(分页、多字段排序、部分字段更新) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前沿

  園子里已有挺多博文介紹了EFCore+Mysql/MSSql如何進行使用,但實際開發(fā)不會把EF層放在Web層混合起來,需要多個項目配合結(jié)構(gòu)清晰的進行分層工作,本文根據(jù)個人實踐經(jīng)驗總結(jié)將各個項目進行分層,僅供想自己搭建,包含數(shù)據(jù)倉儲以及分頁多字段排序。

目錄結(jié)構(gòu)

1.實體層(EF)搭建

1.1添加Nuget包

1.2添加實體

1.3構(gòu)造DbContext

1.4數(shù)據(jù)遷移生成數(shù)據(jù)庫

2.倉儲層搭建

  2.1添加Nuget包

  2.2添加必要的支持IEnumerable<T>和IQueryable<T> 的OrderBy字符串支持類LinqExtensions

  2.3構(gòu)造RepositoryBase<T>

  2.4添加Table文件夾,添加SysUserRepository

  2.5添加工作單元UnitOfWork

3.WebApi項目測試

  3.1注入EF

  3.2測試

4.Github項目地址

?

正文

1.實體層(EF)搭建

新建.NetCore類庫項目Entity,本人使用的是2.0的SDK

1.1添加Nuget包

PM> Install-Package Microsoft.AspNetCore.All -version 2.0.9PM> Install-Package Pomelo.EntityFrameworkCore.MySql -version 2.0.1

1.2添加實體

父類EntityBase

實體類SysUser

1.3構(gòu)造DbContext

在這有重寫OnConfiguring方法,如果沒有構(gòu)造數(shù)據(jù)庫鏈接字符串的話則到appsettings.json中去取,注意將appsettings.json文件始終復制

?appsettings.json

{

? "ConnectionStrings": {

? ? "SQLConnection": "server=127.0.0.1;database=eftest;userid=root;pwd=123456;port=3306;sslmode=none;"

? },

? "server.urls": "http://localhost:5001" //監(jiān)聽端口配置,可多個

}

1.4數(shù)據(jù)遷移生成數(shù)據(jù)庫

打開PM選擇默認項目Entity


輸入

PM> Add-Migration init

若提示The configuration file 'appsettings.json' was not found and is not optional. The physical path is 'E:\VS項目\EFTest\Entity\bin\Debug\netcoreapp2.0\appsettings.json'.

則為沒檢測到appsettings.json,需要文件更改屬性為復制

提示后進行更新數(shù)據(jù)庫,如下為更新成功。

PM> update-database

?

?最后Entity項目內(nèi)容如下

?

2.倉儲層搭建

新建.NetCore類庫項目Repository并引用項目Entity

2.1添加Nuget包

PM> Install-Package Microsoft.EntityFrameworkCore -version 2.0.3PM> Install-Package LinqKit.Microsoft.EntityFrameworkCore -version 1.1.15

?

2.2添加必要的支持IEnumerable<T>和IQueryable<T> 的OrderBy字符串支持類LinqExtensions

以及分頁支持類PageData<T>

2.3構(gòu)造RepositoryBase<T>

2.4添加Table文件夾,添加SysUserRepository

2.5添加工作單元UnitOfWork

這樣倉儲層就構(gòu)造完成了,篇幅已經(jīng)很長了,Service層就先不介紹了。

3.WebApi項目測試

新建.NetCore的項目的Web應用程序ApiTest,選擇webapi方式,并引用Entity和Repository項目

3.1注入EF

3.2測試

測試結(jié)果:

?

倉儲分頁查詢 測試

原文地址:https://www.cnblogs.com/jomzhang/p/10245077.html


.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com


總結(jié)

以上是生活随笔為你收集整理的EFCore+Mysql仓储层建设(分页、多字段排序、部分字段更新)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。