2010-08-23 107 views
2

我想在VS2010中使用数据库项目,但我的设置与标准有点不同,我找不到一个简单的方法来使它工作。Visual Studio 2010数据库项目和代码生成

我有一个“模型”项目,其中包含一些ETL过程的简单信息的XML模型定义。除了提供的信息架构外,它还包含其他元数据,例如哪些列需要与其他表匹配的详细信息,如果发生不匹配等,请采取何种措施等。

使用T4模板,然后生成sql脚本,视图和表来管理整个事情 - 每个xml文件一个sql文件。大约有30个xml定义,但参数的数量很少,而且模式非常重复,所以它运行良好。

我想将这些sql文件转储到数据库项目中,以便让它为我生成部署脚本并识别数据库更改。我可以安排将这些文件合并成一个脚本。有没有办法让VS自动分析脚本,还是每次都需要导入脚本?

编辑:我最初问VS让我不把脚本分成单独的组件。我找到了一个解决方案:将现有脚本复制到项目中,并且 - 关键地 - 将脚本的“构建操作”更改为“构建”(出于某种原因,默认值为“不在构建中”)。 VS然后将这个项目添加到模型中,它将成为生成的脚本的一部分 - 耶!但是,还是没有办法引用脚本在其他项目...

我读过MS如何对数据库项目,但没有发现任何东西,似乎相关

感谢您的帮助,

回答

2

你可以用T4 Toolbox来做到这一点。这里是如何:http://www.olegsych.com/2010/03/t4-tutorial-integrating-generated-files-in-visual-studio-projects/。具体而言,您想要利用Template.Output.File和Template.Output.Project属性。

奥列格

+0

谢谢 - (!比写一吨的T4我自己的代码等),我试图避免增加对T4Toolbox依赖的项目,但我觉得没有别的办法 所以现在我有它很好地工作。 只有一件事:为了让我的脚本进入构建数据库项目的输出中,脚本需要有一个“Build”的“Build Action”。但是当我按照文档使用T4Toolbox设置属性时,出现错误“生成操作构建不支持x.sql” 您是否知道正确的设置?我在.dbproj文件中找不到任何有用的指示? – 2010-08-23 18:28:11

相关问题