如何在App_Data中停止尝试连接数据库的实体框架

时间:2014-05-26 15:59:04

标签: c# asp.net entity-framework

我正在构建一个包含Entity Framework的Web应用程序。在我的解决方案中,我有2个项目。 1个数据访问项目,其中包含我的DbContext类:

public class MyContext : DbContext
{
    public MyContext() : base("MyContext")
    {

        Database.SetInitializer<MyContext>(null);

        Configuration.ProxyCreationEnabled = false;
        Configuration.LazyLoadingEnabled = false;
    }
}

另一个用于设置我想要使用的WebApi的项目,还包含一个web.config。在我的web.config中,我有一个如下所示的连接字符串:

<connectionStrings>
    <add name="MyContext" connectionString="Data Source=ServerPcName\SqlServerName;Initial Catalog=UCP;Integrated Security=True" providerName="System.Data.EntityClient"/>
</connectionStrings>

连接字符串应该是正确的。我按照接下来的步骤检索了我的连接字符串。首先,我打开了服务器资源管理器(视图 - &gt;服务器资源管理器),并在服务器资源管理器中设置了与数据库的连接。接下来,我右键单击我的连接,然后单击“修改连接...”。在对话框中,我点击了“高级...”按钮。在下一个对话框中,我在最低编辑框中选择了连接字符串并将其粘贴到我的web.config中。

现在我尝试使用下一个命令更新我的数据库:

Update-Database -StartUpProjectName WebServices

此命令返回下一个错误:

Directory lookup for the file [rootpath]\App_Data\UcpContext.mdf" failed with the operating system error 2(The system cannot find the file specified.).
CREATE DATABASE failed. Some file names listed could not be created. Check related errors.

在我看来,它试图连接或创建一个假设位于ASP.NET文件夹App_Data中的数据库,但我希望Entity Framework连接到我的服务器。我在这里做错了什么或导致Entity Framework没有看到或想要正确使用我的连接字符串的问题是什么?

1 个答案:

答案 0 :(得分:0)

在构造函数中使用不同的字符串:

base("name=MyContext")
相关问题