在C#中创建数据库应用的最佳方式是什么?

5

我想知道在使用VS C# 2010 Express版本创建数据库应用程序时,最佳的方法是什么,并且我有两个问题:

  1. 我应该选择Microsoft SQL Server 2008还是SQL Server Compact 3.5?安装2008似乎比较复杂。如果我没记错的话,要使用Compact只需安装此服务器,然后应用程序就能够使用数据库文件。

  2. 我需要将什么内容包含在我的软件包中,.dll文件是否足够,还是我需要整个例如Sql Server Compact安装程序?


1
如果您正在制作一个只需要保留一些数据的桌面应用程序,请选择Compact。我认为它应该可以作为DLL包含,但我不确定。 - millimoose
是的,我考虑的是桌面应用程序,而不是大型企业应用程序 :) - Wojciech Kulik
1
http://msdn.microsoft.com/en-us/library/gg213826.aspx 似乎是您正在寻找的文档。 - millimoose
太好了,看起来正是我在寻找的,谢谢;-) 把它作为答案添加,我会接受它;) - Wojciech Kulik
3个回答

5
您可以使用SQL Server 2012 Express中的LocalDB。我认为这非常适合桌面应用程序。更多信息请参见MSDNSQL Server Express WebLog

2

补充一下,这可能会有所帮助...
我建议使用NuGet来下载/安装EntityFramework(在搜索框中输入即可获得列表)。
您有两个版本,一个是常规版本,另一个是紧凑版。
http://nuget.org/packages/EntityFramework/4.3.1
http://nuget.org/packages/entityframework.sqlservercompact
通过这样做,您将获得一个基本的“框架”来处理数据库(您只需要安装SqlCE(建议使用最新的4)即可)- NuGet会安装所需的dll文件。
您可以使用EF(实体框架)的“模型优先”方法来创建Db first,
或者更好的是使用“代码优先”方法-从您的代码、类自动创建Db。
这将解决创建新Db等问题。
我认为这是使用新Db的最简单方法。CE也是如此。
CE(紧凑版)是一个不错的选择-但要注意,与标准服务器SQL(express或standard等)相比,它具有某些限制。例如,您不能使用xml字段和其他一些东西,存储过程、视图等(如果我正确并且记得以前的话)。
还取决于您想要做什么以及要部署到哪里。桌面并不意味着CE是最佳解决方案(这取决于许多细节)。
希望这可以帮助到您。


为什么不直接在NuGet网站上链接到这些包呢?这似乎比试图描述它们要容易得多。 - millimoose
也许对你有用 :) - 我手头没有它们,我打字很快,所以那样更容易,不过你是对的,我刚刚添加了它。 - NSGaga-mostly-inactive

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接