gpt4 book ai didi

ASP.NET ConnectionString AttachDbFilename=|数据目录|

转载 作者:行者123 更新时间:2023-12-04 16:40:09 28 4
gpt4 key购买 nike

这是关于 ConnectionStrings/ASP.NET MVC with Visual Studio 2012 Ultimate & SQL Server Express 2012。

在此处跟进本教程:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/intro-to-aspnet-mvc-4 我在 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>

该网站工作正常,但我无法弄清楚为什么第一个 db 是在 App_Data 文件夹中创建的,而第二个是在“C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA”中创建的?!我认为这两者都将在 App_data 中创建,因为它们都利用了这个属性:AttachDBFilename=|DataDirectory|!

注意:教程提到它应该在 App_Data 中,并且他们添加了一个屏幕截图,确实在那里显示了它!

我一直在寻找答案并陷入了 SQL 的共谋(我认为用户实例可能是解决方案)但无法为此找到答案:|

(这对于阅读用户实例 http://msdn.microsoft.com/en-us/library/bb264564(v=sql.90).aspx 可能很有用)

任何想法都非常感谢。提前致谢。

问候

最佳答案

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

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

public class MovieDataContext : DbContext


<connectionStrings><add name="MovieDataContext" ...

如果它设法找到匹配的连接字符串,它将根据您在相应数据字符串中指定的条件创建 DB(要将 DB 添加到 App_Data 将 DB 的路径设置为 |DataDirectory|,如提到的两个连接字符串所示在问题中); 如果名称不匹配或您没有提供任何连接字符串,VS 将回退到默认设置并在默认位置/设置中创建数据库 (通常是 C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA)。

请注意,“集成安全性”设置和“初始目录”都没有对此发挥任何作用(我能够在 App_Data 中使用集成安全性 = True 和集成安全性 = SSPI 以及有/没有初始目录创建数据库)。

希望这可以帮助。感谢所有参与的人。

关于ASP.NET ConnectionString AttachDbFilename=|数据目录|,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15320428/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com