4

我試圖連接到我的現有數據庫使用ASP.NET和EF 7,測試版7的空模板項目。這就是我的project.json樣子:使用現有的數據庫與ASP.NET 5和EF7(測試版7)

{ 
    "webroot": "wwwroot", 
    "userSecretsId": "aspnet5-Titanes2015-409e9e37-b7bb-4185-b7aa-6dc336087524", 
    "version": "1.0.0-*", 

    "dependencies": { 
    "EntityFramework.Commands": "7.0.0-beta7", 
    "EntityFramework.SqlServer": "7.0.0-beta7", 
    "Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta7", 
    "Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta7", 
    "Microsoft.AspNet.Authentication.Google": "1.0.0-beta7", 
    "Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta7", 
    "Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta7", 
    "Microsoft.AspNet.Diagnostics": "1.0.0-beta7", 
    "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta7", 
    "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta7", 
    "Microsoft.AspNet.Mvc": "6.0.0-beta7", 
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta7", 
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta7", 
    "Microsoft.AspNet.Server.WebListener": "1.0.0-beta7", 
    "Microsoft.AspNet.StaticFiles": "1.0.0-beta7", 
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta7", 
    "Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta7", 
    "Microsoft.Framework.Configuration.Json": "1.0.0-beta7", 
    "Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta7", 
    "Microsoft.Framework.Logging": "1.0.0-beta7", 
    "Microsoft.Framework.Logging.Console": "1.0.0-beta7", 
    "Microsoft.Framework.Logging.Debug" : "1.0.0-beta7", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta7" 
    }, 

    "commands": { 
    "web": "Microsoft.AspNet.Hosting --config hosting.ini", 
    "ef": "EntityFramework.Commands" 
    }, 

    "frameworks": { 
    "dnx451": { }, 
    "dnxcore50": { } 
    }, 

    "exclude": [ 
    "wwwroot", 
    "node_modules", 
    "bower_components" 
    ], 

    "publishExclude": [ 
    "node_modules", 
    "bower_components", 
    "**.xproj", 
    "**.user", 
    "**.vspscc" 
    ], 

    "Data": { 
    "DefaultConnection": { 
     "ConnectionString": "Server=192.168.XX.XXX\\devsql;Database=XXXXXXX;Trusted_Connection=True;user id=XXXXXX;password=XXXXXX;MultipleActiveResultSets=true" 
    } 
    }, 

    "EntityFramework": { 
    "ApplicationDbContext": { 
     "ConnectionStringKey": "Data:DefaultConnection:ConnectionString" 
    } 
    }, 

    "scripts": { 
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ] 
    } 
} 

現在,我到處都找過谷歌和已經檢查了以下問題:

Database-first EF7-beta7 dnx ef dbcontext scaffold command fails

Generating code from an existing database EF7

我已經嘗試了所有運行下面的命令,如那些帖子中提到:

dnx ef dbcontext scaffold "ConnectionString" EntityFramework.SqlServer 
dnx . ef dbcontext scaffold "<connectionString>" 
Scaffold-DbContext '<connectionString>' 

每一個時間,我得到以下錯誤:

The term 'dnx' is not recognized as the name of a cmdlet, function,
script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again

我在做什麼錯?

從空模板項目訪問我的遠程數據庫應該是一個非常簡單的過程,但我一直在爭取一段時間。任何人都可以將我指向正確的方向嗎?

+0

嘗試重新安裝'dnvm'。 –

+0

從PowerShell窗口我運行:dnvm並注意到它說beta5。我運行了dnvm update-self,並將其更新爲beta8-15518,由於我對其他所有版本都使用beta7,因此可能仍然不太好。不過,當我嘗試運行dnx ef dbcontext scaffold「ConnectionString」EntityFramework.SqlServer時,我無法獲得上述命令的工作並獲得相同的消息。 – Antrim

+0

DNVM beta 8應該是正確的。它使用NuGet作爲穩定的feed,所以'dnvm upgrade'會給你beta7比特。運行'dnx web'時你也會遇到同樣的錯誤嗎? –

回答

3

在聊天中討論時,我們發現從C:\Users\<username>\.dnx\runtimes中刪除安裝的運行時並重新安裝最新版本dnvm upgrade是解決方案。

提示:首先檢查dnvm是否已更新至最新版本。您可以使用dnvm update-self進行更新,或通過刪除C:\Users\<username>\.dnx\bin文件夾中的內容並運行this PowerShell script完全重新安裝。

+0

'dnvm list'和'dnvm use'通常是我需要運行的東西。 –

+0

我只是好奇,但在相關說明 - 任何人都偶然使dnvm和相關工具在服務器的全局運行時緩存上運行?我的工作中有ADDS,並在單獨的項目中使用dnx。我知道可以安裝到全局運行時目錄,但獲取所有相關工具而不是用戶帳戶似乎是不可逾越的。 –

相關問題