限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

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:563499
用户头像

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

关注

评论

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

React Context源码是怎么实现的呢

flyzz177

React

太强了!阿里p8大佬干了半个月总结的《Alibaba分布式系统速成笔记》正式开源

Geek_0c76c3

Java 数据库 开源 程序员 架构

Flowable 流程部署与删除

江南一点雨

Java springboot flowable

交付有价值的产品,先澄清用户故事吧!

敏捷开发

产品 项目管理 敏捷开发 软件开发 用户故事

Chrome操作指南——入门篇(十四)drawer

Augus

Chrome开发者工具 9月月更

开发者有话说|我的前端开发感悟

言程序

个人成长 程序人生

隐私计算唯一代表厂商!洞见科技入选《爱分析·数据智能厂商全景报告》

洞见科技

大数据开发培训周期和方法

小谷哥

从0到1带你搭建一个vue3.0项目(vue-cli脚手架版)

言程序

前端 vue3.0 9月月更

谷歌也开始裁员!谷歌CEO说出理由让人惊叹

雨果

裁员 谷歌 互联网裁员

Java面试题大全(整理版)1000+面试题附答案详解最全面看完稳了

钟奕礼

Java 面试 java; Java 面试题

前端动效讲解与实战

vivo互联网技术

前端 SVG 动效

一文带你全面了解什么是颠覆时代的Web3.0未来互联网

echeverra

Web3.0

前端线下培训学习适合哪些人群

小谷哥

阿里顶配版 Spring 全家桶高级笔记+学习路线图+硬核资料库,跪着啃完了。。。

Geek_0c76c3

Java 数据库 开源 程序员 架构

Chrome操作指南——入门篇(十五)monitor

Augus

Chrome开发者工具 9月月更

故障转移和恢复

源字节1号

软件开发 后端开发

【荣耀帐号服务】手把手教你快速Android应用接入

荣耀开发者服务平台

开发者 服务 安卓 应用 honor

基于 Apache Hudi 极致查询优化的探索实践

华为云开发者联盟

大数据 后端 华为云 企业号九月金秋榜

牛客网扫地僧开源出来的《Java面试无敌流笔记》,Github上线两天就爆火

Geek_0c76c3

Java 数据库 开源 程序员 架构

开发者有话说|我的前端开发感悟

言程序

个人成长

深圳大数据培训哪家教的好

小谷哥

MFC|实现自定义复选框效果

中国好公民st

c++ 控件 9月月更

react hook 源码完全解读

flyzz177

React

详解JS中 call 方法的实现

华为云开发者联盟

Java 前端 企业号九月金秋榜

N1盒子openwrt+dogcom实现大学校园网的自动登录开启路由

知识浅谈

9月月更

Vue入门指北——modifier

Augus

Chrome开发者工具 9月月更

《DevOps工具链的国产化之道》直播报名开始啦!

嘉为蓝鲸

DevOps IT 工具链 研发

Python基础(五) | 函数及面向过程编程详解

timerring

Python Monad 9月月更

java培训学习应该注意什么?

小谷哥

web前端培训机构怎么选择比较好呢

小谷哥

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