我正忙于开发自己的应用程序,它使用sql server数据库,并通过实体框架连接。我使用存储过程来插入,更新,删除,从我的数据库中选择。
即使我发布它,该应用程序也能在我的机器上运行。但是当我尝试将应用程序安装到我朋友的计算机上时,问题出现了。它崩溃并且无法启动,因为它无法连接到数据库。
有没有办法用数据库发布我的应用程序,而不将所有表,存储过程和数据库导入我朋友的电脑?我只是想让它成为用户只需要安装应用程序就可以了。
答案 0 :(得分:0)
你的应用程序依赖于数据库工作,所以如果你想把它放在你的朋友PC上,那么你需要让数据库在某个地方可用,无论是本地副本还是存储在运行SQL的服务器上的副本。
您如何存储连接字符串?它是在应用程序中硬编码还是您正在使用app.config文件?要执行您要执行的操作,您需要将连接字符串放入app.config文件中,以便根据安装情况进行更改。
或
如果您想在没有数据的情况下运行应用程序,请在app.config文件中放置一个演示标记或其他内容。将一些代码放入您的应用程序以检查此值,如果它是真的,则绕过SQL代码并可能提供一些硬编码的演示数据。
这有意义吗?
答案 1 :(得分:0)
您可以使用SQL CE,但您可能会发现设计更难一点。如果您更习惯在SQL Server中工作,那么您的数据库就在其中。
您是否考虑过选择SQL Server Express?
在连接字符串问题上,您现在可以通过Nuget获取Microsoft在Visual Studio中使用的数据连接向导;这使得添加一种在客户端计算机上动态配置连接字符串的方法变得更加容易。
最后,实体框架的连接字符串与标准SQL连接字符串不同。在开始尝试以编程方式配置它们之前,请确保清楚地了解这些差异。 Julie Lerman关于实体框架的优秀书籍很好地解释了这些差异。