我正在通过Visual Studio 2013开发一个带有LocalDB的c#.net站点。
我有许多存储过程,这些过程可能会在将来发生变化,但随着项目的发展,肯定会有一些新增功能。
实时站点/服务器将定期收集新日期,因此将与开发副本不同步。此外,我有许多存储过程正在使用中,这可能需要在将来进行调整。随着项目的发展,肯定会有新的存储过程。
作为后续..使用“完整”版本的SQL Express而不是LocalDB会更好吗?
答案 0 :(得分:2)
我建议您在数据库中使用列DBVersion
创建一个名为VID
的表。然后创建一个MS Access DB(因为它更方便)并在其中存储新添加的过程:
AccessDB中的表包含以下列:
DBVersionID NewQuery
创建新过程时,将其添加到Access DB。例如:
DBVersionID NewQuery
1 CREATE PROC BLABLABLA
2 ALTER PROC ASDF
每当应用程序启动时,
select NewQuery FROM AccessDB WHERE DBVersionID>(Select VID FROM DBVersion)
执行其中每一个并使用最后执行的VID
的{{1}}更新DBVersionID
。
从现在开始,无论何时添加新过程,都要将它们添加到AccessDB中,只需替换每个实时客户端中的AccessDB文件即可。