2011-09-06 57 views
5

我已經使用Entity Framework 4.1創建了一個通用的資源庫項目,它作爲一個現有項目添加到我的項目時效果很好,但它無法工作他們時,只是引用爲DLL。實體框架4.1代碼優先CREATE DATABASE權限在數據庫'master'中被拒絕

我得到這個錯誤

在數據庫中創建 '主' 否認DATABASE權限。

,但我已經加入app.config文件,並設置相應的連接字符串到我的SQL Server 2005數據庫(我使用DbContext類型我的上下文)

請幫助我。

這裏是我的連接字符串:

<configuration> 
    <connectionStrings> 
     <add name="TasksEntities" 
      connectionString="server=(local); database=Tasks; trusted_connection=false; User=sa; Password=****; Persist Security Info=True" 
      providerName="System.Data.SqlClient"/> 
    </connectionStrings> 
</configuration> 

回答

7

我剛碰到這個自己。連接字符串名稱必須完全匹配您的DbContext子類的類名稱。如果它不EF找不到連接字符串,並會嘗試回到做我的機器上無法正常工作的其他東西(SQL嵌入?)(我已安裝完整的SQL Server)。

+3

這只是如果您沒有指定連接字符串名稱你的上下文的構造函數是這樣的:'public MyDbContext():base(「name = Blah」)' – joshcomley

+0

太棒了。把我放在正確的軌道上。 –

2

例如,如果您正在處理多個項目,則必須驗證您的連接字符串的配置位置。如果解決方案中的啓動項目配置了連接字符串,並且包管理器控制檯指向也已配置EF遷移的項目(位於「默認項目」中)。

您可以在包管理器更新,數據庫命令-Verbose什麼是啓動項目和源遷移或指定把參數的命令來運行:

更新,數據庫-SourceMigration MvProject.Data - StartUpProjectName MyProject.Web -Verbose

相關問題