以编程方式创建SQL数据库c#

时间:2012-03-30 12:52:26

标签: c# xml sqlite monodevelop unity3d

是否可以通过编码在C#中以编程方式创建SQLite数据库。

我使用XML来存储我在我的应用程序中所需的信息,但它已经到了从XML读取的数据量使得应用程序的性能受到影响的阶段。

据我所知,使用提供的System.data.Sqlite功能可以更快地读取和添加SQLite数据库。

这是对的吗?

[编辑] 另外我应该提到我在使用Monodevelop进行统一3d时所做的一切。

3 个答案:

答案 0 :(得分:2)

我相信你甚至不需要显式创建一个SQLite数据库来处理它,只需将它的名字放在一个连接字符串中,它就会在你创建一个表时自动创建。

答案 1 :(得分:1)

您可以在Entity框架中使用代码优先功能:支持4.0的提供程序还可以添加DeleteDatabase / CreateDatabase / DatabaseExists功能。

更多信息:

http://blogs.msdn.com/b/adonet/archive/2010/12/14/ef-feature-ctp5-code-first-walkthrough.aspx

答案 2 :(得分:-1)

使用SQL Server CE。

您可以创建如下数据库文件:

Create a SQL Server Compact Edition Database with C#

我使用这个因为是“官方”MS数据库。因此它可以与MS技术(Linq to SQL,实体框架等)一起使用。它也是一个非常轻量级的DB。请注意,还有可用的SQL Server Express,但这不是一个轻量级的数据库。

创建数据库的代码:

  string connectionString;
  string fileName = “ArcaneCode.sdf”;
  string password = “arcanecode”;

  connectionString = string.Format(
    “DataSource=\”{0}\”; Password=’{1}’”, fileName, password);

  SqlCeEngine en = new SqlCeEngine(connectionString);
  en.CreateDatabase();

分发它只需要复制一些小程序集(例如SQL Server CE 2005的安装程序,它是一个1.7Mb .msi文件,导致7个程序集)零配置。还有一些版本可以与.NET framework 2.0,3.0,3.5,4.0(版本SQL Server 2005到SQL CE 4.0)一起使用。

如果有人看不到MS支持的优势,那么将它与C#和其他MS技术一起使用,并在MSDN上提供良好的文档。

我认为我因为有人对MS过敏而得到了投票。如果没有,请告诉我原因。