将WPF应用程序与SQL Server数据库一起部署的最有效方法是什么?

时间:2016-11-28 22:05:23

标签: c# sql-server wpf

我正在构建一个连接到SQL Server数据库的WPF应用程序。我想知道我应该怎么做,将应用程序与本地数据库一起部署在客户端的计算机上。

我最初的想法是(假设客户端计算机安装了SQL Server):

  1. 提供应用程序的.exe文件
  2. 提供一个脚本文件,用于运行我的存储过程以创建数据库和表格
  3. 有更好的方法吗?我可以在应用程序中创建一个服务,在服务器的注册表中设置某种布尔值,并且只在第一次运行“init-database-scripts”,但感觉不对。

    还有其他建议吗?

    谢谢!

2 个答案:

答案 0 :(得分:0)

首先,我会强烈考虑使用像WiX这样的工具制作一个实际的安装程序。它可以在安装时为您运行脚本,因此您不必处理注册表等。

假设您正在使用实体框架 - 代码优先,还有另一种选择;您可以使用数据库初始化程序来创建数据库。如果您从未认为您的模型会发生变化DropCreateDatabaseIfModelChanges将起作用,否则启用迁移并使用迁移初始值设定项。

要使用您选择的初始化程序,请务必在应用程序启动例程中调用Database.SetInitializer

答案 1 :(得分:0)

将SQL Server数据库项目添加到Visual Studio解决方案中。构建项目时,会创建一个Dacpac文件,该文件可以使用SQLPackage.exe安装在客户端计算机上。基本上,您的应用安装脚本/软件会调用SQLPackage和Dacpac文件来安装/更新SQL数据库。以下是有关设置SQL数据库项目的教程的链接:Tutorial