2017-10-20 39 views
0

我有一些問題,我的ASP.NET MVC項目,使用實體框架。問題是有關連接字符串(我搜索它的網絡而不是工作還)ASP.NET MVC實體框架的連接字符串和上下文沒有作品在創建數據庫

這是我的情景:

的ASP.NET MVC項目有一個名爲DbData擴展DbContext類。控制器調用此類的新實例並調用SaveChanges來創建數據庫。我在創建數據庫時遇到問題。

  1. 如果我不運行的具體配置和檢查方面的實例,我得到這個例外

    操作無效。連接已關閉

    數據源爲.\SQLEXPRESS,默認爲。結果不能創建數據庫

  2. 如果我嘗試在DbData : base("name = dbconn")使用一個連接字符串與在web.config名稱設置和名稱的特定SQL Server數據庫中,我得到的是「dbconn」不web.config存在的錯誤。

代碼:

public class DbData : DbContext 
{ 
    public DbData() 
     //: base("Name=dbconn") 
     { 

     } 
     public DbSet<Info> infos {get;set;} 
} 

這是web配置(試圖用一個自定義連接字符串)

<add name="dbconn" providerName="System.Data.SqlClient" connectionString="Server=MYPC\SQL2012;MultipleActiveResultSets=True;Database=MvcDB;Persist Security Info=True;Integrated Security=SSPI;" /> 

的EntityFramework節到web.config中:

<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 

我要瘋了。請幫幫我。由於

+0

你可以發佈你的配置設置嗎? – DaniDev

+0

你的Web.Config應該有一個部分。如果它不是,你需要添加/配置它。如果你確實有一個,那麼請發佈它,以便我們可以幫助你。 – DaniDev

+0

嘗試':base(「dbconn」)''而不是':base(「name = dbconn」)' –

回答

0

如果您想使用默認的LocalDB(SQLEXPRESS你的情況),那麼你在標籤看起來應該如下:

<entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> 
     <parameters> 
      <parameter value="localdbinstancename" /> 
     </parameters> 
    </defaultConnectionFactory> 
    <providers> 
     <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
    </providers> 
    </entityFramework> 

如果你想使用一個特定的數據庫服務器(與配置的連接字符串)你的配置文件看起來像:

<entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" > 
     <parameters> 
      <parameter value="Data Source=.; Integrated Security=True; MultipleActiveResultSets=True" /> 
     </parameters> 
     </defaultConnectionFactory> 
    <providers> 
     <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
    </providers> 
    </entityFramework> 

*最重要的區別在於標籤的ConnectionFactory引用。

*參數標籤可能不取決於如何指定連接字符串是必要的。