这是一件很简单的事情,即使在这里问也让我感到很愚蠢,但是因为我已经被困了很长时间,所以我会在这里问它。我正在 Visual Studio 中开发数据层应用程序。我有一些常用的东西,比如表格、存储的过程和一些部署后的数据。默认情况下,数据层应用程序附带 Scripts/Post-Deployment 文件夹。在这个文件夹中有一个名为 Script.PostDeployment.sql 的文件。为了更有条理,我在 Post-Deployment 中创建文件夹作为 StaticData 和 TestData。我用于创建数据的插入语句位于这些文件夹中。因此,基于这种结构,我将以下代码添加到我的 Script.PostDeployment.sql 中:
/*
Post-Deployment Script Template
--------------------------------------------------------------------------------------
This file contains SQL statements that will be appended to the build script.
Use SQLCMD syntax to include a file in the post-deployment script.
Example: :r .\myfile.sql
Use SQLCMD syntax to reference a variable in the post-deployment script.
Example: :setvar TableName MyTable
SELECT * FROM [$(TableName)]
--------------------------------------------------------------------------------------
*/
:r .\StaticData\States.sql
:r .\TestData\Logins.sql
问题是上面的代码不起作用。出于某种原因,部署命令只是忽略路径并在 Scripts/Post-Deployment 中而不是在适当的子文件夹中查找 States.sql 和 Logins.sql。其他人遇到过类似的事情吗?非常简单的问题,但要我永远解决这个问题。我已尽力解释,但提出问题,我可以尝试使事情更清楚。谢谢!