【发布时间】:2012-10-12 13:35:56
【问题描述】:
我正在编写一个需要在 iOS、Android、Windows Phone、WPF、Windows 8 Metro、Linux 和 Mac 上运行的应用程序。我在跨平台领域拥有大约 95% 的代码,但 UI 和某些内容显然需要针对每个平台进行专门编码。
现在,我们需要在应用程序中添加一些非常简单的数据库支持,我很想在我的代码中使用跨平台领域的 Sqlite。这可以使用任何现有的 Sqlite 包装器完成,还是我需要创建自己的?或者我应该使用几个具有相同语法的 Sqlite 包装器,并且只从我的不同 csproj 文件(每个平台)中引用不同的库?
我已阅读此 Q/A Is there a .NET/C# wrapper for SQLite?,但在阅读了一个小时后,我仍然不确定如何在所有这些平台上运行,所以我认为可能有人在我之前就已经考虑过这些事情。
【问题讨论】:
-
对于大多数(如果不是所有)运行 .NET 的平台(即 MonoTouch,我假设您正在使用?)都有 SQLite 包装器。只需搜索您正在使用的框架和“SQLite”,然后为每个框架选择最佳选项。
-
写完我会写我所做的。目前,我正在努力让 WPF 上的所有内容都正常工作,然后当我在其他平台上完成所有工作后,我将根据我的发现投票支持 Josh 的答案或写另一个答案。
-
我正在寻找同样的东西。我找到了一个名为Sqlite-net 的简单ORM,它声称已经在所有平台(Android、WinRT、iOs 等)上进行了测试。我已经下载并让它运行。它使用对 Sqlite3.dll 的外部调用,并为 WinRT 和 iO 提供此 dll 的副本。