C# EF調用MySql出現“未將對象引用設置到對象的實例”錯誤解決方案---修改步驟---1.打開Nuget管理包,把Mysql.Data替換為6.10.0以下任意版本。這里選擇的是6.8.8
2.修改完畢后,繼續把Mysql.Data.Entity也修改為對應版本6.8.8。
3.安裝完成后可以看到App.Config下多了一個節點
4.新建連接字符串
5.創建對應數據庫的實體模型類
最后放上自己做的一個簡陋的C#數據模型生成器(帶源碼),作備用。
可以看到這里明明實例化了數據庫模型對象,卻在調用的時候提示 對象為Null的錯誤,本想通過查看DBContext源碼的辦法來查看錯誤原因,無奈,本人實在太菜鳥。查了一個下午,卻也得不到任何結果。看了幾十篇博客后,突發奇想,會不會是版本的原因。于是開始著手替換MySql.Data.dll的版本號。果然還真是這個原因。
—修改步驟—
1.打開Nuget管理包,把Mysql.Data替換為6.10.0以下任意版本。這里選擇的是6.8.8
2.修改完畢后,繼續把Mysql.Data.Entity也修改為對應版本6.8.8。
注:如果沒有安裝Mysql.Data的話,自行搜索安裝對應版本即可。
3.安裝完成后可以看到App.Config下多了一個節點
4.新建連接字符串
在 configuration 結點下新增連接字符串
5.創建對應數據庫的實體模型類
。。。。。省略創建過程。。。。。。。
。。。。。省略創建過程。。。。。。。
。。。。。省略創建過程。。。。。。。
最后的連接數據上下文的類大概是這個樣子的
public partial class DataModelsContext : DbContext
{
public DataModelsContext()
: base("name=testDbContext") //對應Config中的連接字符串name
{
}
public DbSet new_tableInfo { get; set; }
public DbSet new_tableInfo { get; set; }
public DbSet new_tableInfo { get; set; }
}
最后,實例化 DataModelsContext 對象,就可以通過EF框架使用MySql數據庫了。
最后放上自己做的一個簡陋的C#數據模型生成器(帶源碼),作備用。
代碼生成器下載