問題情形
使用EF Core訪問數據庫,在本地運行正常,發布到App Service后,偶爾出現了Cannot create a DbSet for ** because this type is not included in the model for the context,根據錯誤,初步懷疑是部署的DLL版本不匹配或者丟失。
詳細日志
無詳細日志
問題原因
根據對錯誤的分析和源代碼中包含中文字符進行分析,應該是客戶本地環境中編譯后的DLL文件在本地環境本正常識別,但是默認情況下,發布到App Service后,中文識別為亂碼,EF Core在加載該類文件時候找不到相應的類型。這點在換一台沒有設置中文的windows環境中,問題復現。
解決方案
修改代碼中所有中文字符的命名空間和類型名,重新發布后,問題消失。