ef mysql dbfirst,.NetCore教程之 EFCore連接Mysql DBFirst模式

一:創建EF的類庫,同時將此項目設置為啟動項(為Scaffold-DbContext -tables指令使用),同時安裝2個包 ①Microsoft.EntityFrameworkCore.Tools ②Pomelo.EntityFrameworkCore.MySql (這個是第三方的ef mysq ...

一:創建EF的類庫,同時將此項目設置為啟動項(為Scaffold-DbContext -tables指令使用),同時安裝2個包

①Microsoft.EntityFrameworkCore.Tools

②Pomelo.EntityFrameworkCore.MySql (這個是第三方的ef mysql 中間件)

例如:

4bbe675be6ede6f8100748bbe31693bb.png

二:生成資料庫的實體和EF的DBcontext對象,用到的是 Scaffold-DBcontext命令

在程式包控制台輸入以下命令

Scaffold-DbContext -Force  "Server=****;User Id=root;Password=****;Database=****" -Provider "Pomelo.EntityFrameworkCore.MySql"

server:資料庫地址,User Id:賬號,Password:登錄密碼

如果是針對單表的更新,加一個-Tables 後面是要更新的表名

Scaffold-DbContext -Force  "Server=****;User Id=root;Password=****;Database=****" -Provider "Pomelo.EntityFrameworkCore.MySql"  -Tables "myTable"

執行完成之後會生成指定的是Model ,註意:表必須有主鍵,才會生成,如果沒有主機會報 Unable to generate entity type for table “xxxx” 警告,當然實體也不會生成

出現的問題:如果有表欄位為 datetime類型的,生成的時候會報錯 應輸入標識符,處理方法:把.()去掉。此問題如果有大神看到幫忙解答下

95e0827cc647c1bc209e38db74c29329.png

例如:

f185a9d50f539287849964fbadd3e282.png

三:創建標準的web應用,進行使用

①在appsettings.json配置資料庫的地址信息,註意  SslModel=none例如

"MySqlConnection": "Database='***';Data Source=****;User ID=***;Password=***;CharSet=utf8;SslMode=None"

b13fc8bc5211af391ff23174f82f48e2.png

② 在startup.cs 配置註入,其中有用到一些引用 順手引用一下

public void ConfigureServices(IServiceCollection services)

{

services.Configure(options =>

{

// This lambda determines whether user consent for non-essential cookies is needed for a given request.

options.CheckConsentNeeded = context => true;

options.MinimumSameSitePolicy = SameSiteMode.None;

});

//ef mysql 配置

services.AddDbContext(options => options.UseMySql(Configuration.GetConnectionString("MySqlConnection")));

services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

}

③之後就是標準的調用,例如在控制器中的使用

public class HomeController : Controller

{

drewtestContext _content;

public HomeController(drewtestContext context)

{

_content = context;

}

public IActionResult Index()

{

List list_sctonlyHomes = _content.SctonlyHome.ToList();

return View();

}

}

到此就是基礎的EF core mysql入門配置了。

----再牛逼的夢想,也抵不住我傻逼似的堅持!別在該奮鬥的年紀,貪圖安逸。 今天多學一點,明天的路更寬!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值