构建连接到SQL Server的Visual Studio项目?

时间:2014-10-26 06:04:16

标签: c# sql-server build installation project

我的C#项目连接到SQL Server以保存和检索数据。部署此类项目的过程是什么,以便我可以在另一台PC上安装该应用程序?如何包含已包含先前条目的数据库表?

我的Windows应用程序使用SQL Server数据库来保存用户信息并进行检索。我是否应该在构建的项目中包含SQL Server安装以便在另一台PC上运行?

谢谢!

2 个答案:

答案 0 :(得分:1)

首先是简单的事情。

1)如果您正在使用Entity Framework,您可以启用迁移(如果您还没有完成),然后当您将连接字符串指向另一个服务器时,实体种子方法将处理所有事情。

了解EF迁移HERE

2)如果您不使用EF,则必须备份数据库并将其还原到新服务器。您可以使用SQL Server Management Studio导出数据库(或仅导出没有数据的数据库模式),然后将其导入到其他服务器。

更新评论添加后:

不,你不能只在你的应用程序中“包含”SQL Server安装。 SQL Server是一个巨大的怪物,它自己安装。

如果您正在寻找可以安装在PC中的轻量级数据库,可以使用:

- 访问

- SQLIte

- SQL Server Express(一个残缺的SQL Server)

- SQL Server Compact您可以通过nuget(Microsoft.SqlServer.Compact包)直接安装

SQL Server版本比较

就个人而言,我喜欢以下简单应用程序的组合:

SQLite + Dapper (micro ORM, somethign like a very light Entity Framework)

答案 1 :(得分:0)

假设您正在部署代码,可以采取以下步骤:

  1. 以“发布模式”构建您的应用,以获得更快/更轻的版本:Debug Visual Studio Release in .NETenter image description here
  2. 获取可执行文件,资源文件(如果没有嵌入)等,并将它们打包发送(默认情况下,这些文件位于Bin \ Release文件夹中)。您可以简单地压缩文件,也可以创建安装程序(如MSI)
  3. 应用程序和数据库单独部署。如果您的数据库中有数据,则可以将其备份并在另一台计算机上恢复。 备份How do I back up a database to a .bak file? 恢复How can I restore a database backup file (.bak) from SQL Server 2012 into SQL Server 2008 Express? 如果数据只是暂存数据,那么种子方法就是使用EF。如果您不使用EF,则可以将数据库模式导出到.sql文件,该文件可以手动或在安装程序中自动在目标计算机上运行。