1

我正在使用ASP.Net MVC 站点上的教程将我的技能升级到 ASP.Net MVC 3、Entity Framework、SQL CE 4.0 等。但是,我使用的是 Visual Studio 2010 Professional,而不是 Express。在本课中,SQL CE 4.0 数据库 Movies.sdf 应该自动创建并存储在 App_Data 中。但是,程序运行良好,我可以创建、插入项目、停止调试并重新启动,并且数据仍然存在。但是,App_Data 文件夹或项目中的任何其他文件夹中没有 Movies.sdf 文件。

我下载了 Visual Studio 2010 Express,再次运行了教程的步骤,这次在 App_Data 中创建了文件。

My question is: Where is the |DataDirectory| pointing to in Visual Studio 2010 Professional and why is it different from VS 2010 Express? Is there any way I can check before running a program where |DataDirectory| is set to?

4

1 回答 1

1

我以为我有类似的问题。原来我的连接字符串名称打错了。

如果连接字符串的名称与您的 DBContext 类完全相同,则 EF4 代码首先会选择连接字符串。您可能会发现它使用的是默认的 SQLExpress 连接字符串。

如果你想手动设置路径,你可以把它放在 Application_Start()

  protected void Application_Start()
    {
        AppDomain.CurrentDomain.SetData("DataDirectory", "C:\\pathToMyDatabase\\");
    }

您可以在此处查看 DataDirectory 的默认值: 连接字符串中的 SQL Server Compact 'Data Directory' 宏 - 需要更多信息

于 2011-06-21T12:37:06.493 回答