AspNetCore EF 對象名XXX無效


前段時間改用core框架,粗略看了下,因為用了成熟的框架,所以工作上是直接上手寫代碼,.net core一知半解。

今兒突然興起開始看看微軟文檔啥的,剛看的入門,看着例子簡單本來覺得上手一遍直接帶過,結果被狠狠打臉。。。

一個簡單入門例子地址  

結果一邊下來F5,直接捕獲了個異常:

 

 

 

 

 感覺很奇怪,按照教程說法不應該是對象不存在直接創建嗎,百度了吧說是字符串配置錯誤啥的。

因為我連接字符串指向的是本地的一個庫,調用 context.Database.EnsureCreated()時返回的時false,這其實是找到數據庫了。

但是調用到context.Students.Any()就嗝屁了

看看數據庫,也沒啥啊

 

 就一個Test庫里有一張Test表,當時隨便起了個名字

於是我該鏈接字符串,改個沒有的庫F5,成功了。。。然后我就懷疑是不是庫名和表名搗的鬼。

我刪了Test表,字符串還是改成Test數據庫 F5 順利通過。。。。艹

折騰半天原來是表名和數據庫名字一樣(如下更正原因↓↓↓↓)出的錯,跑完后,表成功創建,於是我又把Test表建起來了,F5 跑到context.Students.Any()時卻是沒有報錯,返回了true。

更正上述錯誤:context.Database.EnsureCreated() 創建表的時候試了下會有如下情況:

  • 有庫沒有表  返回:true    創建新表
  • 有庫有表      返回:false  未做任何操作
  • 無庫             返回:true    創建新庫新表

由於有庫有表(非Student表)  並未做任何事情,所以Student表並未找到 所以執行到 context.Students.Any() 時報錯

所以啊,還是要嚴謹!慎重!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM