2010-07-09 72 views
1

我一直在研究如何找到一个用于Silverlight /独立存储的嵌入式数据库。大家都说由于非托管代码,SQLite不能用于Silverlight。Silverlight 4&SQLite

根据我的经验,只有一个名为System.Data.SQLite.DLL的dll,我相信我可以从安装的SQLite.NET或从NHibernate构建中获得。

在c#代码中配置时,您可以使用基于文件的数据库,并指定要使用的文件。

所以我的问题是非托管代码在哪里?为什么不使用基于文件的数据库并将其写入独立的存储工作?而现在Silverlight 4支持OOB,对此有什么影响?

答案提前感激。

问候

回答

0

SQLite作为下载从sqlite.org写入ANSI-C(参见features页)。这就是大多数人在你说“SQLite”时所想到的,它绝对是非托管代码。

System.Data.SQLite.DLL似乎是“一个用于SQLite数据库引擎的开源ADO.NET提供程序”,并且是“对原始sqlite3.dll的一个完整的嵌入式替代品(如果您希望将其更名为sqlite3.dll,重新使用它“),这看起来很酷。

但是,阅读后,我看到“桌面原生SQLite库和ADO.NET包装器合并成一个混合装配体”,这似乎是说该DLL包含托管和非托管代码,这可能是一个问题。

+0

感谢Mike- 我可以测试,看看会发生什么......但目前还不支持 我想这个问题可能是ADO.NET通过Silverlight。在这种情况下,提供者不会工作......任何人都知道在Silverlight 4中是否支持ADO.NET? – magellings 2010-07-09 15:38:46

1

我不知道你需要什么功能,但是你可能也想看看Sterling

英镑是一个轻量级的 面向对象的数据库 实施Silverlight和 的Windows Phone 7与工作您的 现有的类结构。 Sterling 支持完整的LINQ to Object查询 ,通过密钥和索引进行快速检索 数据集的大型 数据集。

Here是关于这个项目的介绍博客文章。

注意:在这篇文章发布时,Sterling尚未发布。你可以虽然下载的源代码。

0

有在Silverlight没有ADO.Net 4