2016-01-23 60 views
0

我试图位于localdb位置如何工作?

C:\Users\Public\Documents\DevExpress Demos 15.2\DevExtreme\DXHotels 

Web.config中的开发快速演示应用程序的连接字符串

<add name="DXHotelsStore" connectionString="data source=(localdb)\devextreme;attachdbfilename=|DataDirectory|\HotelDB.mdf;integrated security=True;multipleactiveresultsets=True;App=EntityFramework" providerName="System.Data.SqlClient" /> 

数据文件存在于

C:\Users\Public\Documents\DevExpress Demos 15.2\DevExtreme\DXHotels\App_Data\HotelDB.mdf 

解决方案文件是在

C:\Users\Public\Documents\DevExpress Demos 15.2\DevExtreme\DXHotels 

我不明白为什么位置(localdb)\ devextreme转换为.mdf所在的文件夹。

当我运行解决方案时,它如何解决位置问题?

[更新] question here解释了为什么数据库是在App_Data文件夹中创建的,但它不能解释为什么使用(localdb)devextreme。

[更新] 下面的问题也与此有关 My support question at Dev Express My question about log files

+1

'| DataDirectory目录映射到App_Data文件夹。 http://stackoverflow.com/questions/15320428/asp-net-connectionstring-attachdbfilename-datadirectory –

+0

我更新了问题,以显示解决方案文件的位置。 –

回答

0

尼古拉在DevExpress的支持回答

“11.0”是安装了的LocalDB时创建通用的SQL Server Express LocalDB实例。由于此实例的名称取决于当前版本的Visual Studio,因此在启动演示时可能会导致问题。这就是为什么我们不在连接字符串中使用这个名称的原因。为了解决这个问题,我们选择了我们自己创建演示项目时创建的实例名称。请参阅演示项目设置中的“生成事件”选项卡。

我在构建事件检测和生成后事件命令行是

sqllocaldb create "devextreme" 2>nul 1>nul 
    sqllocaldb start "devextreme" 2>nul 1>nul 
    exit 0 
0

的LocalDB是一个面向开发人员的数据库实例,它是不是一个实际的例子意味着没有服务运行。从开发人员的角度来看,优势在于不需要安装或维护,因为之前您曾使用SQL Server Express安装或任何其他完整类型的SQL Server版本。 需要注意的是,您不会获得命名管道,并且所有内容都与本地连接有关。另一方面,您仍然可以像往常一样创建命名实例(也称为LocalDB私有实例),您可以使用(LocalDB)\连接到它们。由于在LocalDB上没有真正的附件,所以指定数据库的名称就像一个“附属”过程。 希望这有助于。

+0

因此(localdb)解释说它是一个文件,但应用程序如何解决它的位置? –