50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

SQLite 移植到了.NET

  • 2009-08-09
  • 本文字数:752 字

    阅读完需:约 2 分钟

Noah Hart 将 SQLite3 移植到了 C#上。虽然此次移植版本比原始版本要慢,但是此项目可以让.NET 托管项目在不使用任何 P/Invoke 和不安全代码的情况下使用 SQLite。

C#-SQLite 被寄放在Google Code 上,是从SQLite 3.6.16 到C#的完全移植,代码版权使用 MIT License 。C#-SQLite 通过了超过 3 万个测试用例,只有 9 个没有通过。编译好的二进制 exe 文件只有 528KB,和原始版本的 506KB 差不多。性能方面要比原始的C 版本差一些,但是Hart 说他还没有对代码做任何性能优化,而且他认为目前的性能还可以接受。所有的数据单位都是行/ 秒:

Test C#-SQLite SQLite Insert 300K 1300K Select 1500K 8450K Update 60K 300K Delete 250K 700KCory Nelson 解释了为什么移植SQLite 要比其它方式更好:避免P/Invoke 带来的“速度超慢和无法移植”问题。而且C 代码“充斥着goto 语句,会使优化变得十分困难”。

很多产品-如Adobe AIR-都包含和使用了SQLite。或许C#-SQLite 最能发挥的地方是Silverlight 项目, Tim Anderson 指出

可以在微软 Silverlight 中作为本地数据库使用,保存在 isolated storage 中。

……Silverlight 不允许 P/Invoke 和不安全代码,由于原始版本的 SQLite 中使用了大量的指针,即使只有很少的 P/Invoke,不安全的代码却一定有很多。

虽然 Silverlight 是实现在.NET Framework 上的,却不包含 System.Data 命名空间,但包含了 System.Linq。

C#-SQLite 并不是 SQLite 的官方版本,Hart 也与 SQLite.org 没有任何关系。SQLite 的创造者和商标所有人 Richard Hipp,在一开始并不同意将“SQLite”包含在项目名中,但是后来同意使用C#-SQLite。

除了这个项目,还有其它一些托管数据库,比如: Perst db4o Silverlight Database System.Data.SQLite

查看英文原文: SQLite Has Been Ported to .NET

2009-08-09 20:563647
用户头像

发布了 63 篇内容, 共 27.5 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

一文看懂低代码的现状、打法、机会和挑战

小博

中台 云原生 PaaS SaaS/IaaS/PaaS 低代码开发平台

php 精度问题

一个大红包

8月日更

区块链DAPP钱包开发|波场DAPP开发钱包

Geek_23f0c3

区块链 DAPP智能合约交易系统开发 波场DAPP

生产环境全链路压测-影子库落地

国隆

波宝TronLink钱包模式系统开发|波宝钱包模式功能介绍

量化系统19942438797

关于区块链的学习笔记(三)

姬翔

“善于治”和“以善治”:华为云Stack在智慧城市的十年踪迹十年心

脑极体

为什么宁可提拔一个新同事当领导,也不提我这个来十年的老员工呢?

非著名程序员

认知提升 个人提升 职场成长 8月日更

碳中和将为中国带来什么? 绿色转型如何驱动经济跃升?

CECBC

关于区块链的学习笔记(二)

姬翔

绝绝子!腾讯大牛1909页的leetcode刷题笔记,细节满满

Java 编程 架构 面试 程序人生

奥运背后的5G赛场,竟然也这么激烈?

脑极体

极光开发者周刊【No.0806】

极光GPTBots-极光推送

Vue进阶(二十): 请求方式详解

No Silver Bullet

ajax Vue axios 8月日更 请求方式

毕业总结

Presley

到底该怎么定义 To B SaaS 产品

姜雨生

SaaS 标准化 To B业务 行业深度

你知道Kafka创建Topic这个过程做了哪些事情吗?(附视频)

石臻臻的杂货铺

大数据 kafka 源码 运维

【架构实战营】毕业总结

Geek_2e7dd7

【设计模式】外观模式

Andy阿辉

C# 后端 设计模式 8月日更

Activiti工作流---简单开发平台,请假实例演示

金陵老街

Java SpringBoot 2 Vue 3 Activiti

Golang 实现 RTP

声网

音视频 rtp

未来的价值互联网主要建立在NFT上

CECBC

ipfs存储服务器的优势在哪里?ipfs怎么挖矿?

IPFS怎么挖矿 ipfs存储服务器的优势

架构训练营 - 模块三 - 作业

姑射仙人

#架构实战营

如何改进新员工的入职体验?

石云升

用户体验 入职 体验设计 8月日更

全国有待形成数据资产市场 区块链、人工智能或成重要支撑技术

CECBC

Serverless与WebSocket的聊天工具

刘宇

Serverless websocket

番外4. Python OpenCV 中鼠标事件相关处理与常见问题解决方案

梦想橡皮擦

8月日更

关于区块链技术的学习笔记(一)

姬翔

JavaScript中的 async 和 await

devpoint

Promise Async await 8月日更

网络攻防学习笔记 Day100

穿过生命散发芬芳

态势感知 网络攻防 8月日更

SQLite移植到了.NET_.NET_Abel Avram_InfoQ精选文章