Asp.net-Mvc-3

實體框架 4.1 程式碼優先的 SQL Server 2008 連接字元串

  • July 28, 2014

我需要 Entity Framework 4.1 程式碼優先項目的有效 SQL Server 2008 連接字元串。我現在將它與 MVC 3 一起使用。

現在它仍然很簡單,只有 1 個項目,3 個簡單的模型類……

我只能在網路上找到其他所有內容,例如 Sql Express、CE 連接…

在(“ApplicationServices”)中按名稱查找它web.config是可以的,因為當我嘗試使用時,我得到了特定的錯誤。

我能得到的最好的結果是:

無法載入指定的元數據資源。

我也試著給它,metadata=res://MyWebProject/MyWebProject.csdl| ... 但沒有成功。

所以它不會為我創建數據庫——甚至沒有命中OnModelCreating(DbModelBuilder modelBuilder)方法。

如果我嘗試使用像我為 SQL Server Express 找到的那種“老式”連接,它會失去元數據。

提前感謝您的幫助。

“程式碼優先”的想法是,您不必處理連接字元串中提到的 .csdl、.ssdl 和 .msl 文件。如果未在其他地方指定,則 DbContext 將按照您的描述在 web.config 中查找連接字元串。DbContext 類的建構子將接受指定 web.config 中連接字元串名稱的名稱-值對。例如:

<connectionStrings>
   <add name="ConnectionName" 
        providerName="System.Data.SqlClient"
        connectionString="Server=ServerName;Database=DatabaseName;Integrated Security=True;" />
</connectionStrings>

可以在您的上下文中引用:

class MyContext : DbContext
{
    public MyContext() : base("name=ConnectionName") { }
    ...
}

我提供的範例連接字元串實際上是針對 SQL Server 數據庫的。指定 ProviderName 很重要,因為“程式碼優先”要求它生成相應的 .ssdl 文件(儲存模式)。

引用自:https://stackoverflow.com/questions/6575976