是否可以通过编码在C#中以编程方式创建SQLite数据库。
我使用XML来存储我在我的应用程序中所需的信息,但它已经到了从XML读取的数据量使得应用程序的性能受到影响的阶段。
据我所知,使用提供的System.data.Sqlite功能可以更快地读取和添加SQLite数据库。
这是对的吗?
[编辑] 另外我应该提到我在使用Monodevelop进行统一3d时所做的一切。
答案 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过敏而得到了投票。如果没有,请告诉我原因。