iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 29
0
Modern Web

零經驗ASP .NET Core 30 DAY全紀錄系列 第 29

零經驗 .NET Core 30 DAY----- Day29 1到28天,路上滿滿的錯誤,統整篇

  • 分享至 

  • xImage
  •  

今天是第29天,回顧前面28天遇到的問題,紀錄一些本人思考後判定值得記錄的部分。


錯誤一:no database provider has been configured for this dbcontext.

day4 的時候做dbcontext的連接設定,後續執行出現以下錯誤。
https://ithelp.ithome.com.tw/upload/images/20201005/20130030Ydow8q78uZ.png
原因:尚不明白,我的步驟都是照著網路上的教學。
參考的解決方法(對我來說無效,或許有人有效?):
https://www.thecodebuzz.com/no-database-provider-has-been-configured-for-this-dbcontext/
https://entityframeworkcore.com/zh-TW/knowledge-base/59861448/
我的解決方法:
放回去

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            if (!optionsBuilder.IsConfigured)
            {
				optionsBuilder.UseSqlServer("連線字串");
            }
        }

問題二:unable to track an instance of type because it does not have a primary key.

一開始寫註冊功能的時候,出現了下面的錯誤。

https://ithelp.ithome.com.tw/upload/images/20201005/20130030T0ZcKfso7F.png
原因:資料表需要主鍵。
解決方法:小菜逼八忘記設定主鍵(設計的時候有規畫上去的!)只要重新建立資料表,把主鍵設定上去,然後再scaffold一次,就可以囉。

問題三:字串或二進位資料會被截斷。陳述式已經結束。

註冊功能遇到的第二個錯誤,也是菜逼八耍蠢,錯誤如下圖。
https://ithelp.ithome.com.tw/upload/images/20201005/20130030JZFiVMBd3t.png
原因:資料庫欄位長度不足,寫個try catch攔截這個問題是不錯的選擇。
解決方法:Day27設定密碼規則,把長度加進去規則裡面。

問題四:session has not been configured for this application or request.

登入功能中使用sesstion發生的錯誤,錯誤如下圖。
https://ithelp.ithome.com.tw/upload/images/20201005/20130030Bf92Y34674.png
原因:沒有在Startup.cs設定Session。
解決方法:day6在Startup.cs中設定Session。

問題五:does not contain a definition for 'length'

查看座位表功能時發生的錯誤,程式內容在.CSHTML中,IDE編譯時不會跳出ERROR,但網站在執行時會出現下面錯物。
https://ithelp.ithome.com.tw/upload/images/20201005/20130030lSCost4izD.png
原因:array string必須使用count,array list必須使用Length,詳細解說請參考day21
解決方法:該用什麼就用什麼。


Day29心得:
整理這些錯誤的時候感到有點羞恥,超多基本錯誤,證明我是大新手,這幾天累積了許多經驗值,希望我的錯誤可以有一點參考價值囉。


上一篇
零經驗 .NET Core 30 DAY----- Day28 實作功能[座位管理系統-完善各個洞洞]
下一篇
零經驗 .NET Core 30 DAY----- Day30 功能實測[座位管理系統]
系列文
零經驗ASP .NET Core 30 DAY全紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言