【问题标题】:How to use SQLite in c# without an ADO wrapper如何在没有 ADO 包装器的情况下在 c# 中使用 SQLite
【发布时间】:2010-06-04 12:28:01
【问题描述】:

这甚至可能吗?我读过的所有文章都表明 ADO 包装器是必要的,但 SQLite 网站暗示除了它们的 DLL 之外什么都不需要。如果有可能,那么我希望那里有代码示例。

【问题讨论】:

    标签: c# sqlite ado


    【解决方案1】:

    看这里:

    http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers

    具体来说,搜索“.NET Framework”。

    其中一个包装器:http://www.phpguru.org/static/SQLite.NET.html - 这个使用 ADO,它只是一个极其轻量级的 SQLite 访问库。

    那里有很多包装纸,我相信您会找到自己喜欢的。

    【讨论】:

    • 我使用了很多 SQlite.NET,因为 ADO.NET 对我的需要来说太复杂了。不过,您必须稍微修改代码才能将其与 sqlite3 一起使用。
    【解决方案2】:

    问题是,您为什么不想使用 ADO.NET 提供程序?它是在 .NET 中访问数据库的标准框架。我想您可以使用 P/Invoke 并访问 SqlLite 库,但工作量很大,而且当 ADO.NET 提供程序已经存在时,为什么还要重新发明轮子。 ADO.NET 不仅是访问数据库的管道,它还提供了访问数据的通用模式,无论提供者如何。

    IMO,坚持使用 SqlLite ADO.NET Provider。

    【讨论】:

    • 唯一的原因是部署包的大小。各种 SQLite 包装器运行的大小约为 SQLite.dll 的 3 倍。但它们仍低于 1 Mb,因此可能会选择其中之一。
    • ADO.NET 包装器的异步方法同步运行。这既非常具有误导性,也很烦人。我宁愿使用正确实现的包装器,然后在每次调用期间处理假异步。 source
    【解决方案3】:
    猜你喜欢
    • 1970-01-01
    • 2020-04-24
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 2017-05-19
    相关资源
    最近更新 更多