SQL Server Compact文件在哪里?

3

我有一个使用SQL Server Compact数据库的ASP.NET MVC项目。对于我的FoobarContext,我有以下连接字符串:

<add name="FoobarContext"
 connectionString="Data Source=|DataDirectory|Foobar.sdf"
 providerName="System.Data.SqlServerCe.4.0"/>

我启动了项目,数据似乎如预期一样被持久化了。但是,我无法找到名为 'Foobar.sdf' 的文件。我错过了什么吗?

更新: 它没有使用我的连接字符串。设置断点并检查上下文,我发现它的ConnectionString实际上是以下内容:

Data Source=.\\SQLEXPRESS;Initial Catalog=MvcApplication3.Infrastructure.Data.FoobarContext;Integrated Security=True;MultipleActiveResultSets=True

神秘揭开了。
3个回答

3
默认情况下,它应该是~/App_Data。但你可以尝试运行AppDomain.CurrentDomain.GetData("DataDirectory")查看ASP.Net认为目录存在的位置。
如果这没有显示任何有趣的内容,你可能需要确保Windows资源管理器设置为显示隐藏文件,以防您没有看到该文件。

0

它应该位于您的MVC项目根目录下名为App_Data的文件夹中。


1
这正是我所期望的,但没有sdf文件。有一个名为'ASPNETDB.MDF'的文件和一个名为'aspnetdb_log.ldf'的文件。 - Larsenal
这个问题应该会帮到你:https://dev59.com/33M_5IYBdhLWcg3wslVW - Nathan Fisher
我能够在磁盘上找到App_Data文件夹,但是找不到预期的sdf文件。 - Larsenal
很酷,我知道你的意思,我认为如果你能显示应用程序正在使用的App_Data路径,那么它可能会给你一个关于文件在哪里的线索。 - Nathan Fisher
或者在上下文中设置断点,查看连接字符串是否能够提供有关位置的任何线索。 - Nathan Fisher
显示剩余2条评论

0

在您的项目中,您应该对应用程序文件夹以及其中的数据库文件保持吝啬。

敬礼


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接