燃爆上海 5·23-24,AICon 大模型实战风暴,50+ 干货一网打尽,100% 日程上线 了解详情
写点什么

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

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

关注

评论

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

学习-1

4anonymous

微信业务架构&毕设学生管理架构选择

Sky

架构实战营

深入了解现代web浏览器(第二部分)

GKNick

大前端 浏览器

模块一作业

bin

你最想了解的红队实战攻防技术,来了

网络安全学海

黑客 网络安全 信息安全 WEB安全 安全漏洞

网络攻防学习笔记 Day117

穿过生命散发芬芳

网络安全 8月日更

【架构训练营】【模块一】【作业】【微信业务架构】【学生管理系统架构】

简直走不拐弯

极客时间 作业 架构训练营

模块一作业:微信业务架构图与学生管理系统毕设架构设计

apple

Ubuntu Server 20.04 搭建安装Kubernetes

玏佾

Kubernetes k8s文档 k8s资源 #k8s

我的微信业务架构图

白开水又一杯

#架构实战营

在线JSON转HTML,TABLE表格工具

入门小站

工具

模块1作业

atob

我的学生管理系统

白开水又一杯

#架构实战营

Vue进阶(七十一):webpack 插件实现自动抽取 css 主题色样式一键切换

No Silver Bullet

Vue 8月日更 主题色

【架构实战营作业】模块一:微信业务架构图&学生管理系统

聆息

游戏开发者的通关之旅,华为AGC for Games带来了什么?

脑极体

微信业务架构图&学生管理系统设计思路

刘琦Logan

百度地图开发-与地图的交互功能 06

Andy阿辉

android Android Studio Android 小菜鸟 8月日更

架构实战之微信业务架构|学生管理系统

Nico

架构实战营

Go语言,深入了解 select 实现原理

微客鸟窝

Go 语言 8月日更

微信业务架构图&毕业设计之学生管理系统(model1)

消失的子弹

微信 架构图

基于java springboot android 安卓报修系统源码(毕设)

清风

Java Android Studio 毕业设计

架构实战打怪升级day01

yphust

架构师训练营2期模块一作业

kazeMace

架构实战营

如何在 MacOS 上降级 Java 版本

escray

学习 8月日更

架构实战营-模块一作业

Alex.Wu

微信业务架构和学生管理系统架构设计

王家辉

架构实战营模块一作业-初识架构

娜酱

#架构实战营

Coffee学架构:架构设计001(怎么做架构设计)

咖啡

架构设计实战

架构实战☞ 微信业务架构&学生管理系统架构设计

眼镜盒子

架构实战营

Linux之seq命令

入门小站

Linux

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