我正在构建一个连接到SQL Server数据库的WPF应用程序。我想知道我应该怎么做,将应用程序与本地数据库一起部署在客户端的计算机上。
我最初的想法是(假设客户端计算机安装了SQL Server):
.exe
文件有更好的方法吗?我可以在应用程序中创建一个服务,在服务器的注册表中设置某种布尔值,并且只在第一次运行“init-database-scripts”,但感觉不对。
还有其他建议吗?
谢谢!
答案 0 :(得分:0)
首先,我会强烈考虑使用像WiX这样的工具制作一个实际的安装程序。它可以在安装时为您运行脚本,因此您不必处理注册表等。
假设您正在使用实体框架 - 代码优先,还有另一种选择;您可以使用数据库初始化程序来创建数据库。如果您从未认为您的模型会发生变化DropCreateDatabaseIfModelChanges
将起作用,否则启用迁移并使用迁移初始值设定项。
要使用您选择的初始化程序,请务必在应用程序启动例程中调用Database.SetInitializer
。
答案 1 :(得分:0)
将SQL Server数据库项目添加到Visual Studio解决方案中。构建项目时,会创建一个Dacpac文件,该文件可以使用SQLPackage.exe安装在客户端计算机上。基本上,您的应用安装脚本/软件会调用SQLPackage和Dacpac文件来安装/更新SQL数据库。以下是有关设置SQL数据库项目的教程的链接:Tutorial