ASP.NET连接字符串AttachDbFilename=| DataDirectory|

ASP.NET连接字符串AttachDbFilename=| DataDirectory|,asp.net,sql,connection-string,Asp.net,Sql,Connection String,这是关于Visual Studio 2012 ultimate和SQL Server Express 2012与字符串/ASP.NET MVC的连接 继续学习本教程:我在我的web.config中遇到了以下两个连接字符串的问题: <connectionStrings> <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;

这是关于Visual Studio 2012 ultimate和SQL Server Express 2012与字符串/ASP.NET MVC的连接

继续学习本教程:我在我的web.config中遇到了以下两个连接字符串的问题:

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

    <add name="MovieDBContext" 
         connectionString="Data Source=(LocalDB)\v11.0;
                           AttachDbFilename=|DataDirectory|\Movies.mdf;
                           Integrated Security=True" 
         providerName="System.Data.SqlClient" />
</connectionStrings>

)

非常感谢您的任何想法。提前谢谢


关于

我也有同样的问题。我认为区别在于集成的安全设置。我已经安装了SQLExpress,并使用MS SQL Server Management Studio在其中找到了我的电影数据库


请查看此响应以获得更好的解释

经过研究/测试,结果如下:

VS将查看DataContext的类名,并查看您是否提供了与类名同名的连接字符串;例如:

public class MovieDataContext : DbContext


AMT给出的完全正确。在.mdf和.sdf文件中使用连接字符串令人困惑

不过,我还有另一个指针给您,您可以更改默认设置,应用程序在其中查找名称与上下文类的类名匹配的连接字符串,方法是重写DBContext的构造函数并提供参数nameOrConnectionString,如下所示


然后应用程序搜索名为EFBlogs的连接字符串,如果找不到连接字符串,则创建名为EFBlogs的数据库,与BlogsContext相反,当您添加数据库时,我注意到一个差异,它询问您是否希望将其放置在app_数据文件夹中。如果您单击“是”,则它将转到app_数据文件夹,并且mdf的完整路径名也位于app_数据文件夹中,而您使用文件资源管理器。

InitialCatelog
添加到两个字符串?我没有尝试,因为我的目标不是最终使两个数据库都显示在App_数据下;我需要理解为什么VS/SQL以这种方式创建它们。谢谢你的贡献。
<connectionStrings><add name="MovieDataContext" ...
public BlogsContext()
            : base("name=EFBlogs")
        {
        }