2012-09-10 118 views
0

我已經在我的web mvc應用程序中安裝了EF 5.0,但上下文存儲在另一個dll(存儲庫)中。母雞我試圖啓用遷移我有錯誤No context type was found in the assembly 'PI.Web'。當我嘗試運行命令Enable-Migrations -StartUpProjectName 'PI.Web' -ProjectName 'PI.Data'時,出現錯誤The EntityFramework package is not installed on project 'PI.Data'.。 PI.Web是我的啓動項目,PI.Data是保存上下文的dll。我是否真的必須在PI.Data中安裝ef才能使用遷移?在另一個DLL中的EF遷移和上下文

+0

你如何在一個類中沒有提到EF上下文?該項目不會編譯。簡短回答是肯定的,爲了在上下文中使用遷移,項目需要對EF進行引用。 –

+0

我有參考,項目編譯,數據保存並從數據庫獲得,但是當我嘗試啓用遷移時,我有錯誤,我寫在後 – jacbar

+0

所以你是自相矛盾的。在你說的問題'EntityFramework軟件包未安裝在項目PI.Data'上。在評論中你說'我有參考資料'。那麼在'PI.Data'中是否有參考?如果沒有,那麼你的上下文就不會存儲在'PI.Data'中。 –

回答

0

你如何在Pi中創建上下文。數據如果你想參考EF? 你應該在Data project not Web中引用EF。爲什麼存儲庫模式,如果你仍然在EF項目中引用EF?

1

有一點要注意連接字符串必須包括上下文的全名

YourProject.Whatever.YourContext