gpt4 book ai didi

c# - 跨平台的Sqlite

转载 作者:IT王子 更新时间:2023-10-29 06:22:46 24 4
gpt4 key购买 nike

我正在编写需要在 iOS、Android、Windows Phone、WPF、Windows 8 Metro、Linux 和 Mac 中运行的应用程序。我在跨平台领域拥有大约 95% 的代码,但 UI 和一些东西显然需要针对每个平台进行专门编码。

现在,我们需要在应用程序中添加一些非常简单的数据库支持,我很乐意在我的代码中从跨平台领域对抗 Sqlite。这可以用任何现有的 Sqlite 包装器来完成,还是我需要创建自己的包装器?或者我应该使用多个具有相同语法的 Sqlite 包装器,并且只从我的不同 csproj 文件(每个平台)引用不同的库?

我已阅读此问答 Is there a .NET/C# wrapper for SQLite?但经过一个小时的阅读,我仍然不确定如何让所有这些平台上的东西正常工作,所以我认为有人可能已经在我之前考虑过这些事情了。

最佳答案

使用 SQLite 进行跨平台 .NET/C# 开发的一些选项是:

SQLitePCL.raw

用于对 SQLite 进行低级(原始)访问的可移植类库 (PCL)

SQLitePCL.raw 在 SQLite C API 之上提供了一个非常薄的 C# 包装器。 SQLitePCL.raw 公开的 API 从应用程序开发人员的角度来看是有敌意的,但设计用作通用可移植层,可以在其上构建更友好的包装器。

许可证:Apache 许可证 v2

源代码:https://github.com/ericsink/SQLitePCL.raw

Nuget:https://www.nuget.org/packages/SQLitePCLRaw.core

平台:Xamarin.Android、Xamarin.iOS、UWP、Windows Phone 8.1、.NET 4.5、.NET 4.0、.NET 3.5、Linux、MacOS、NetStandard 1.1、Windows Phone 8(带有限制)、Windows Phone 8.1 Silverlight(有限制)


SQLitePCL.漂亮

SQLitePCL.raw 上的漂亮脸孔

该库使用友好的 C# 面向对象 API 包装了 SQLitePCL.raw 提供的类似 SQLiteAPI 的 C。 SQLitePCL.pretty 具有广泛的单元测试覆盖范围,并支持更新的 SQLite 版本中可用的许多新功能。

许可证:Apache 许可证 v2

源代码:https://github.com/bordoley/SQLitePCL.pretty

Nuget:https://www.nuget.org/packages/SQLitePCL.pretty

平台:与SQLitePCL.raw相同


SQLite 网络

简单、强大、跨平台的 SQLite 客户端和 .NET 的 ORM

SQLite-net 被设计为一个快速方便的数据库层。非常容易与现有项目集成并在所有 .NET 平台上运行,使用非常简单的方法安全地执行 CRUD 操作和查询(使用参数)以及以强类型方式检索这些查询的结果。

许可证:麻省理工学院许可证

源代码:https://github.com/praeclarum/sqlite-net

Nuget:https://www.nuget.org/packages/sqlite-net-pcl

平台:与SQLitePCL.raw相同


微软.Data.Sqlite

System.Data.Common 接口(interface)的 SQLite 实现

此项目是 ASP.NET Core 的一部分,由 Microsoft 维护

许可证:Apache 许可证 v2

源代码:https://github.com/aspnet/Microsoft.Data.Sqlite

Nuget:https://www.nuget.org/packages/Microsoft.Data.SQLite

平台:.NET Framework、Mono、.NET Core(.NET Native、CoreCLR、Windows Universal)、Xamarin(计划中)

关于c# - 跨平台的Sqlite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13016578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com