實體框架7“dnx ef遷移添加”缺少輸出文件

dnx entity-framework entity-framework-core

EF7命令

dnx ef migrations add XXX 

突然停止了工作。它為控制台提供正常輸出......

C:\Users\Nikola\Dev\ScanburSandbox\src\ScanburSandbox>dnx ef migrations add XXX
Done. To undo this action, use 'ef migrations remove'

...但是通常的.cs和.designer.cs文件不會生成。

問題:任何人都可以建議為什麼會發生這種情況或我如何排除故障?

更多細節:

運行命令之前和之後的Migrations文件夾的內容如下所示:

11-02-2016  00:03             7.629 00000000000000_CreateIdentitySchema.cs
11-02-2016  00:03             6.637 00000000000000_CreateIdentitySchema.Designer.cs
11-02-2016  00:08             9.688 20160210230810_modelv2.cs
11-02-2016  00:08            10.103 20160210230810_modelv2.Designer.cs
12-02-2016  15:38             8.636 20160212083018_modelv3.cs
12-02-2016  15:38            10.065 20160212083018_modelv3.Designer.cs
12-02-2016  15:38            10.058 ApplicationDbContextModelSnapshot.cs

到目前為止,我已經多次成功運行EF7工具(“dnx ef migrations”和“dnx ef數據庫”),每次都有預期的結果。這意味著“dnx ef migrations add XXX”將在每次執行時添加新的.cs和.designer.cs文件。無論模型類是否有變化,都會發生這種情況。

我不知道如何解決這個工具。我沒有看到任何調試標誌或任何在任何地方寫入的日誌文件。我沒有看到輸出中的任何錯誤。

我真的希望有人有明智的想法,因為我被困在這裡。

一般承認的答案

經過一些研究後,我終於意識到為什麼遷移文件丟失了。

我再次使用詳細標記:dnx ef migrations添加v3 -v

這是輸出:

Finding DbContext classes...
Using context 'ApplicationDbContext'.
An operation was scaffolded that may result in the loss of data. Please review the migration for accuracy.
Reusing directory of file '00000000000000_CreateIdentitySchema.cs'.
Reusing directory of file 'ApplicationDbContextModelSnapshot.cs'.
Writing migration to
'c:\Users\Nikola\Dev\SdmWeb\src\SdmWeb\bin\output\approot\src\SdmWeb\Migrations\20160223195618_v1.cs'.
Writing model snapshot to
'c:\Users\Nikola\Dev\SdmWeb\src\SdmWeb\bin\output\approot\src\SdmWeb\Migrations\ApplicationDbContextModelSnapshot.cs'.
Done. To undo this action, use 'ef migrations remove'

這裡棘手的一點是,它正在“重用...的目錄”,然後它會說它正在將遷移文件寫入... \ bin \ output \ approot \ src。

清理bin文件夾並再次運行後,遷移文件將直接在... \ Migrations下的Migration文件夾中生成。


熱門答案

我遇到了同樣的問題,我沒有太多運氣來指定項目,上下文和輸出目錄。看起來它只是拖延而沒有做任何事情。我也嘗試在管理員PowerShell中運行它,以防它有一些權限問題,但仍然沒有。

編輯:我嘗試在Linux機器上添加一個新的遷移,這似乎創建了良好的遷移。之後創建遷移似乎現在完美無缺。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow