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

歡迎訪問 生活随笔!

生活随笔

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

数据库

ASP.NET没有魔法——ASP.NET MVC 与数据库之MySQLEF

發布時間:2024/10/12 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET没有魔法——ASP.NET MVC 与数据库之MySQLEF 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  之前介紹EF時介紹了provider這個配置項,而且也介紹了在ASP.NET訪問MySQL數據仍然是通過ADO.NET,不同的地方僅僅是更換了MySQL的數據提供器,那么在EF中是否也只需更換“提供器”就可以了呢?

  接下來就通過以下兩點,看一下Entity Framework是如何連接使用My SQL數據庫的:

  ●必要組件的安裝
  ●DBContext的創建與應用

必要組件的安裝

1. 通過Nuget安裝Entity Framework組件到BlogRepository.MySQL項目上:

  

2. 在BlogRepository.MySQL項目中引入MySql.Data.Entity.EF6:

  EF作為主要組件是必須安裝的,只不過EF中只包含了SQL Server相關組件不包含MySQL的,所以還需安裝并引入MySql.Data.Entity.EF6,安裝MySQL組件的方式有兩種,一種是安裝Connector/NET,然后在引用管理器中找到:

  

  而另一種方式是通過Nuget包管理器安裝:

  

DBContext的創建與應用

  1. 創建一個DBContext:

  

  2. 在DBContext類型上使用MySqlEFConfiguration類型:

  

  使用MySqlEFConfiguration類型是官方建議的,因為該類型中添加了所有與Mysql類型相關的組件,或者在自定義Configuration類型中調用AddDependencyResolver(new MySqlDependencyResolver())方法自行添加,被添加的組件有:

  ● DbProviderFactory -> MySqlClientFactory
  ● IDbConnectionFactory -> MySqlConnectionFactory
  ● MigrationSqlGenerator -> MySqlMigrationSqlGenerator
  ● DbProviderServices -> MySqlProviderServices
  ● IProviderInvariantName -> MySqlProviderInvariantName
  ● IDbProviderFactoryResolver -> MySqlProviderFactoryResolver
  ● IManifestTokenResolver -> MySqlManifestTokenResolver
  ● IDbModelCacheKey -> MySqlModelCacheKeyFactory
  ● IDbExecutionStrategy -> MySqlExecutionStrategy

  當然也可以自定義一個Configuration類型,在文章最前面提到的替換Provider:

  

  以同樣的方式將這個自定義類型應用到DbConfigurationType特性中:

  

  

  3. 修改BlogRepository,將使用SQL改為使用EF:

  

  4. 添加MySql的連接字符串:

  

  DbContext類型會自動在配置文件的connectionString節點中查找名稱與其類型名稱一致的連接字符串并使用。

  注:name與DbContext類型一致并且providerName是MySql.Data.MySqlClient,這與SQL Server不一致,需要特定的程序來解析和使用連接字符串。

  5. 運行程序:

  

  

  注:運行正常是因為DbContext類型中使用了MySqlEFConfiguration類型,該類型位于MySql.Data.Entity.EF6.dll程序集,所以主項目編譯的時候也會將該程序集包含進來,而不會出現程序集缺失的情況。

小結

  本章介紹了如何使用EF來使用MySQL數據庫,與SQL Server區別較大的就是需要引入MySQL相關的程序集然后使用MySQL的數據提供器,這樣EF就可以用來操作MySQL數據庫了,而這個替換的操作是通過在DBContext類型上使用DbConfigurationType特性來實現的。

  通過幾篇對ASP.NET訪問數據庫及EF使用的介紹,可能會發現一些問題就是關于EF的配置:

  ○安裝EF組件時就會動態創建配置信息,但是這些配置又可以不用。

  ○可以使用代碼的形式(DbConfigurationType特性)來指定配置。

  ○DbContext的連接字符可以通過基類構造方法傳入。

  ○DbContext的連接字符串可以讀取配置文件中與其類型名稱對應的配置。

  對于以上問題將在下一篇文章中統一介紹。

?

參考:

  https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework60.html

本文連接:http://www.cnblogs.com/selimsong/p/7655554.html?

ASP.NET沒有魔法——目錄

轉載于:https://www.cnblogs.com/selimsong/p/7655554.html

總結

以上是生活随笔為你收集整理的ASP.NET没有魔法——ASP.NET MVC 与数据库之MySQLEF的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。