我遇到了这里描述的确切问题(阅读"无法附加到删除的MDF文件"部分),但问题的解决方案没有告诉那里......
简而言之,问题是在删除.mdf文件后,当我尝试使用EF 5.0访问数据库时,抛出以下异常.
DataException-> EntityException-> SqlException:
无法将文件"{0}"附加为数据库"{1}"
我确实删除了DB文件,现在我在运行应用程序期望它使用它的初始化程序时得到那个讨厌的错误消息.有任何解决这个问题的方法吗?
sql-server asp.net-mvc entity-framework-5 localdb visual-studio-2012
基本上我已经按照教程并决定.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的新手,并且不太明白这里有什么问题.
我在实体框架中使用Code First概念,并且在启动应用程序时我经常遇到以下异常:
Cannot attach the file 'C:\Users\Admin\Documents\Visual Studio 2012\
Projects\Pro\Pro.Web\App_Data\Pro.mdf' as database 'Pro'.
Run Code Online (Sandbox Code Playgroud)
我把它放进去Global.asax.cs但也没有成功:
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<ProWebContext>());
var ctx = new ProWebContext();
ctx.Database.Initialize(true);
Run Code Online (Sandbox Code Playgroud)
我在App_Data目录下检查过,没有创建数据库.此外,在Server Explorer下,Data Connections下没有任何内容.昨天一切都很好,今天根本不工作.我曾尝试使用SQL Server Management studio连接到LocalDB,但它说它无法连接到本地数据库.什么想法可能是一个问题?
谢谢!
database asp.net entity-framework ef-code-first asp.net-mvc-4