日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Nuget 启用数据库迁移的时候一定要把包含DbContext的项目设为启动项目

發布時間:2025/3/8 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nuget 启用数据库迁移的时候一定要把包含DbContext的项目设为启动项目 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在為項目啟用數據庫遷移的時候(enable-migrations)出現如下錯誤:

在程序集“XX”中未找到遷移配置類型“XX.Migrations.Configuration”

之前一直正確的,并沒有修改項目中的代碼,花了小半天找原因,stackoverflow和一些國外的網站都有類似錯誤,但是我這個不是

http://www.ideablade.com/forum/forum_posts.asp?TID=3611&title=code-first-migration

http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/39edecbf-267d-4e88-bad9-87c60f330d8a

這篇文章中說要在Nuget控制臺中選擇正確的項目,我也選擇了正確的項目,但是還是繼續出現錯誤。

我嘗試修改DbContext的命名空間,再次運行enable-migrations,令人不解的現象出現了,自動生成的遷移配置文件中的DbContext類的命名空間并沒有發生變化,還是原來的命名空間,看來enable-migrations并沒有使用當前我選擇的項目的最新生成的程序集,查找了硬盤上所有該項目生成的程序集,發現新加入到解決方案的一個web項目(該web項目設置為啟動項目)文件夾下的包含DbContext程序集的日期是比較老的日期,就是還沒有啟用數據庫遷移的版本。到這里明白了enable-migrations是從啟動項目里面去找包含DbContext的程序集的……

?

我新加入一個web項目,理所當然把它設置成了啟動項目,enable-migrations執行的時候會先編譯,這個時候我的DbContext程序集里面還沒有遷移配置的任何代碼,編譯之后會在包含DbContext這個項目里面添加遷移配置代碼,但是這個時候web項目引用的那個程序集里面還是沒有遷移配置的任何代碼,所以出現了上面的錯誤。

?

把啟動項設置成包含DbContext的項目,問題解決。

?

NuGet的enable-migrations為什么會找啟動項目,而不是用我在nuget控制臺中選擇的項目呢?

轉載于:https://www.cnblogs.com/tubo/archive/2012/10/05/2712081.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Nuget 启用数据库迁移的时候一定要把包含DbContext的项目设为启动项目的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。