首頁>Program>source

基本上,我已经遵循了一个教程,並決定删除 .mdf 然後提交檔案。

現在,每当我尝試執行應用程式時,都会出現以下錯誤(该執行緒的標题)。 出現錯誤的代碼如下所示(ASP.NET MVC 4):

OdeToFoodDB db = new OdeToFoodDB();
public ActionResult Index()
{
    var model = db.Restaurants.ToList();
    return View(model);
}

我的連線字元串如下:

<add name="DefaultConnection" 
     connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=OdeToFoodDb;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\OdeToFoodDb.mdf" 
     providerName="System.Data.SqlClient" />

我尝試查看SQL Server物件資源管理器,但看起来如下:

此外,在服務器資源管理器中,我看不到任何資料連線。

当我尝試在Server Explorer中添加新連線時,我看不到任何名為 OdeToFoodDb的資料庫

對於這个廣泛的問题很抱歉,但是我是Entity Framework的新手,還不太明白這裏出了什麼問题。

最新回復
  • 5月前
    1 #

    看看這个:Entity Framework不会建立資料庫

    I would try giving the database a different name. Sometimes you can run into problems with SQL Express when trying to create a database with the same name a second time. There is a way to fix this using SQL Server Management Studio but it's generally easier to just use a different database name.

    Edit 接受此答案是因為它可以確认bug和OP使用的解決方法(重新命名資料庫可以help).我完全同意,重命名資料庫並不是真正可以接受的方式,而且 does not totally solve the issue .不幸的是,我没有檢查在SSMS中真正解決問题的其他方法。

  • 5月前
    2 #

    我认為對於SQL Server Local Db,您不應该使用 Initial Catalog 屬性。 我建議使用:

    <add name="DefaultConnection" 
         connectionString="Data Source=(LocalDb)\v11.0;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\OdeToFoodDb.mdf" 
         providerName="System.Data.SqlClient" />
    

    我认為本地db在同一个mdf檔案上不支援多个資料庫,因此不支援指定初始目錄(或者不完全支援初始目錄,並且出現一些奇怪的錯誤)。

  • 5月前
    3 #

    从Package Manager控製台執行:

    sqllocaldb.exe stop v11.0

    sqllocaldb.exe delete v11.0

    執行專案

    註册使用者

  • 5月前
    4 #

    从應该執行此操作的連線字元串中删除此行;) "" AttachDbFilename = | DataDirectory | whateverurdatabasenameis-xxxxxxxxxx.mdf"

  • 5月前
    5 #

    "無法將檔案" C:\ Github \ TestService \ TestService \ App_data \ TestService.mdf"附加為資料庫" TestService"

    遇到上述錯誤訊息時,請執行以下步骤。

    打開SQL Server物件資源管理器

    單击重新整理按钮。

    展開(localdb)\ MSSQLLocalDB(SQL Server 12.x.xxxxx-xxxxx \ xxxx)

    擴充套件資料庫

    請删除現有的同名資料庫

    單击右键,然後删除

    返迴到程式包管理控製台

    更新資料庫

  • r:如何从命名號碼中提取號碼(没有名稱)?
  • c#:模擬靜態方法