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

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

关注

评论

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

物联网实时监管 区块链云端留痕 公章何时何地何人用过一清二楚

CECBC

Go- 方法-1

HelloBug

方法 Go 语言

Promise.all() 原理解析及使用指南

devpoint

Promise 异步任务 9月日更

如何大规模交付高质量、高一致性的RESTful API及配套产物

刘宇

API OpenAPI REST API

🚄【Redis干货领域】从底层彻底吃透AOF原理(基础篇)

码界西柚

redis aof Redis 协议 9月日更

世界顶级安全专家整理出的这份笔记告诉你Linux应该怎么学

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

阿里P8终于总结出这份SpringBoot分布式架构精髓笔记

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

GitHub破百万访问的阿里神作:并发实现原理JDK源码笔记

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

阿里P8纯手写SQL文档:收获不止SQL优化抓住SQL的本质

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

大牛分享,献出这份年薪68W的蚂蚁金服Java高级开发封神宝典!

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

09. 深度学习携手大数据引领第三AI热潮--何为深度学习?

Databri_AI

人工智能

【VueRouter 源码学习】第一篇 - 环境搭建与路由模式介绍

Brave

源码 vue-router 9月日更

在线JSON转Go Struct工具

入门小站

工具

RedHat 8 如何检查端口是否联通

HoneyMoose

发布半小时登上GitHub首页的Spring Boot实战笔记,竟是京东T8编写

Java~~~

Java spring 架构 面试 Spring Boot

区块链落地进行时:专利猛增,构建工业互联网信任价值

CECBC

Go- 结构体

HelloBug

Go 语言 结构体

Ubuntu Server 20.04 搭建安装Harbor

玏佾

Docker k8s Harbor

GitHub阅读量最高的文章竟是图解Java,不愧是Alibaba内部资料

Java~~~

Java 架构 面试 JVM 基础

美团面试:请手写一个快排,被我怼了

程序员 面试 算法

IntelliJ IDEA 中如何将 POM 中的版本号快速提出为属性

HoneyMoose

德勤:区块链成为现实,采用逐渐增多

CECBC

微信朋友圈高性能架构设计

毛先生

软件工程师必备沟通技巧

俞凡

沟通 认知

世界顶级安全专家耗时三年写出了这份4308页的Linux笔记

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

Linux之ssh-add命令

入门小站

Linux

Go- 方法-2

HelloBug

方法 Go 语言

GraphQl Calculator计算指令@distinct:使用表达式对列表进行去重

杜艮魁

数据中台 graphql

华为顶级网络工程师分享出这份TCP/IP网络编程笔记!已封神

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

大厂慌了!由国外技术工程师亲自操刀的微服务实战手册限时分享

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

Confluence 数据中心版本接近生命周期了

HoneyMoose

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