- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
原本使用 EF Core 2.x 版本有一段程式碼為將 DbConnection 轉型成 SqlConnection,進行 SqlClient 的 ADO.NET 操作
程式碼片段如下
//使用 DbContext 取得資料庫 DbConnection 物件後
var _conn = DbContext.Database.GetDbConnection() as SqlConnection;
var _cmd = _conn.CreateCommand();
但更新成 EF Core 3 後
將 GetDbConnection() 回傳物件的轉型 SqlConnection 物件就變成 null
var _conn = DbContext.Database.GetDbConnection() as SqlConnection;
var _cmd = _conn.CreateCommand();
//_conn 物件會是 null, 產生 NullReferenceException
原因如下
https://www.ithome.com.tw/news/130630
將參考移除後發現 using 建議有兩個命名空間,才發現這篇文章
在 EF Core 3 的版本後 SqlConnection 命名空間
由原本的 System.Data.SqlClient 變更為 Microsoft.Data.SqlClient
將命名空間更新為 Microsoft.Data.SqlClient 就可以正確進行操作
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
留言
張貼留言