我正在尝试位于
的Dev Express演示应用程序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
答案 0 :(得分:0)
LocalDB是一个面向开发人员的数据库实例,它不是一个实际的实例,意味着没有服务正在运行。从开发人员的角度来看,优势在于无需安装或维护,因为之前您曾使用过SQL Server Express安装或任何其他完整类型的SQL Server版本。 需要注意的是,您没有获得命名管道,一切都与当地连接有关。另一方面,您仍然可以创建命名实例,也称为LocalDB私有实例 - 通常,您可以使用(LocalDB)\连接到它们。由于在LocalDB端没有执行附件,因此指定数据库的名称就像一个&#34;附加类似的进程。 希望这会有所帮助。
答案 1 :(得分:0)
Nikolai在DevExpress的支持下回答了
“v11.0”是在安装LocalDB时创建的通用SQL Server Express LocalDb实例。由于此实例的名称取决于Visual Studio的当前版本,因此在启动我们的演示时可能会出现问题。这就是我们在连接字符串中不使用此名称的原因。为解决此问题,我们选择了自己的实例名称,该名称是在构建演示项目时创建的。请参阅演示项目设置中的“构建事件”选项卡。
我检查了构建事件,并且构建后事件命令行是
sqllocaldb create "devextreme" 2>nul 1>nul
sqllocaldb start "devextreme" 2>nul 1>nul
exit 0