2017-09-13 67 views
2

以前我不得不實施IDesignTimeDbContextFactory得到遷移運行,e.g: PM>添加遷移初始 PM>更新,數據庫IDesignTimeDbContextFactory不總是需要?

如果沒有,控制檯拋出錯誤,並導致我在這裏:https://docs.microsoft.com/en-us/ef/core/miscellaneous/configuring-dbcontext#use-idesigntimedbcontextfactory

所以我做了它的建議和遷移運行。 之後,我創建了新的項目,我不必實現IDesignTimeDbContextFactory。遷移工作無論如何。這怎麼可能? 所有項目上的相同.NET Core版本(2.0)。

我們是否總是需要創建一個IDesignTimeDbContextFactory,還是僅僅在某些情況下?

謝謝!

+0

這是否適用? https://www.bountysource.com/issues/46781053-ef-core-2-0-design-time-dbcontext-discovery-changes –

+0

可能是謝謝,我發現了關於github的討論,所以我會在那裏發佈問題以及當我得到迴應時回來。 –

回答

3

好了,這裏有雲: 如果你在你的DbContext默認構造函數或使用建立在ASP.NET 2.0的核心項目模板的Program.BuildWebHost()模式,你通常不會需要一個IDesignTimeDbContextFactory實施。

在2.0.0-preview1中未使用Program.BuildWebHost(),您需要一個設計時工廠。

全面討論請參見本主題: https://github.com/aspnet/EntityFrameworkCore/issues/9033