Joh*_*yer 68 .net database asp.net-mvc entity-framework asp.net-mvc-4
基本上我已经按照教程并决定.mdf之后删除该文件.
现在每当我尝试运行应用程序时,我都会收到以下错误(此主题的标题).我收到错误的代码如下所示(ASP.NET MVC 4):
OdeToFoodDB db = new OdeToFoodDB();
public ActionResult Index()
{
var model = db.Restaurants.ToList();
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
我的连接字符串如下:
<add name="DefaultConnection"
connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=OdeToFoodDb;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\OdeToFoodDb.mdf"
providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)
我已经尝试过查看SQL Server对象资源管理器,但它看起来如下:
此外,在服务器资源管理器中,我看不到任何数据连接.
当我尝试在服务器资源管理器中添加新连接时,我看不到任何名为的数据库OdeToFoodDb.
对于这个广泛的问题,我很抱歉,但我是Entity Framework的新手,并且不太明白这里有什么问题.
Dav*_*rdi 116
我认为对于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" />
Run Code Online (Sandbox Code Playgroud)
我认为本地数据库不支持同一mdf文件上的多个数据库,因此不支持指定初始目录(或者不支持,并且我有一些奇怪的错误).
Chr*_*ris 56
看看这个:实体框架不创建数据库
我会尝试给数据库一个不同的名称.有时,在尝试第二次创建具有相同名称的数据库时,您可能会遇到SQL Express问题.有一种方法可以使用SQL Server Management Studio解决此问题,但通常更容易使用不同的数据库名称.
编辑 此答案已被接受,因为它确认了错误以及OP使用的解决方法(重命名数据库可能有所帮助).我完全同意重命名数据库并不是一种可接受的方式,并不能完全解决问题.不幸的是,我没有检查其他方法在SSMS中真正解决它.
Ahm*_*ssa 15
从应该执行此操作的连接字符串中删除此行;)"AttachDbFilename = | DataDirectory | whateverurdatabasenameis-xxxxxxxxxx.mdf"
小智 6
"无法将文件'C:\ Github\TestService\TestService\App_data\TestService.mdf'作为数据库'TestService'附加
当您遇到上述错误消息时,请执行以下步骤.
我遇到了同样的问题.VS 2013中的以下步骤为我解决了这个问题: