因为在仿真建模的过程中,希望把运行过程传递给数据可视化的控制台显示出来,约定了以离线SQLite文件最为我们的数据接口。所以考虑到用ServiceStack.OrmLite来写数据到SQLite中。

步骤如下:

  1. 在NuGet中安装Service Stack.OrmLite和ServiceStack.OrmLite.Sqlite包
  2. 创建数据结构和表的映射关系
    class Foo{[AutoIncrement]public int Id { get; set; }[CustomField("INT")]public int Idx { get; set; }[CustomField("CHAR(20)")]public string? Name { get; set; }[CustomField("CHAR(20)")]public string? CharColumn { get; set; }[CustomField("DECIMAL(18,4)")] public decimal? DecimalColumn { get; set; }public void PrintDump(){Console.WriteLine($"Id={Id}, Name={Name}");}}
  1. 创建数据库访问接口
class DvSQLite{public static string SqliteFileDb = String.Format($"~/AppData/SQLiteDbTest.sqlite").MapAbsolutePath();static OrmLiteConnectionFactory dbFactory = new OrmLiteConnectionFactory(SqliteFileDb, SqliteDialect.Provider);private IDbConnection _db;public DvSQLite(){_db = dbFactory.Open();_db.CreateTable<Foo>(true);}public void InsertFoo(Foo foo){_db.Insert<Foo>(foo);}public Foo SelectFoo(int idx){var result = _db.SingleById<Foo>(idx);result.PrintDump();}}
  1. 使用
 private static DvSQLite _dvSQLite = new DvSQLite();_dvSQLite.InsertFoo(new Foo{Idx = 1, Name = "name"});_dvSQLite.SelectFoo(1);

ServiceStack.OrmLite使用相关推荐

  1. ServiceStack OrmLite 数据库查询 几个实用方法 (继承表格式化集合等)

    执行SQL语句: int result = db.SqlScalar<int>("SELECT OBJECT_ID(@name)", new { name = &quo ...

  2. PetaPoco - 轻量级高性能的ORM框架(支持.NET Core)

    我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db. 而且市面上的orm框架有很多,有重量级的Entity Framework,有 ...

  3. AppBox升级进行时 - 拥抱Entity Framework的Code First开发模式

    AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. 从Subsonic到Entity Framework Subsonic最早发布 ...

  4. 分享一个轻型ORM--Dapper选用理由

    推荐理由:Dapper只有一个代码文件,完全开源,你可以放在项目里的任何位置,来实现数据到对象的ORM操作,体积小速度快:) Google Code下载地址: http://code.google.c ...

  5. .NET(C#)有哪些主流的ORM框架,FreeSql,SqlSugar,Dapper,EF还是...

    前言 在以前的一篇文章中,为大家分享了<什么是ORM?为什么用ORM?浅析ORM的使用及利弊>.那么,在目前的.NET(C#)的世界里,有哪些主流的ORM,FreeSql,SqlSugar ...

  6. vue面向切面_vue:在路由跳转中使用拦截器

    1:首先在路由对象中的某一个具体的路由对象加这样一个属性 meta: {  requireAuth:true  } 2:然后在main.js中添加这段代码 router.beforeEach((to, ...

  7. 我的开发框架(WinForm)

    近来,看园子里,好多同学,展示自己工作中的开发框架,有的功能强大,有的短小精悍,我也来凑个热闹,望各位大侠指点一二. 一.指导思想 1.尽量减少程序员对数据库的依赖,或者说尽力少的写sql 语句.根据 ...

  8. DotNet 资源大全

    Awesome DotNet,这又是一个 Awesome XXX 系列的资源整理,由 quozd 发起和维护.内容包括:编译器.压缩.应用框架.应用模板.加密.数据库.反编译.IDE.日志.风格指南等 ...

  9. 论ORM框架—EntityFrameworkCore

    欢迎大家阅读<朝夕Net社区技术专刊> 我们致力于.NetCore的推广和落地,为更好的帮助大家学习,方便分享干货,特创此刊!很高兴你能成为忠实读者,文末福利不要错过哦! 01 PART ...

最新文章

  1. linux中使用CST时间
  2. 技术图文:如何进行代码的重构?以封装 BigOne API 为例
  3. 从支付宝看大用户规模互联网架构发展
  4. c语言精炼pdf,发计算机二级C语言多年精炼笔试试卷.pdf
  5. mysql的基本介绍简书_mysql 简介
  6. php 预处理原理,PHP的PDO对象预处理的2种实现方法,实现原理详解
  7. CSS3 总结(一)
  8. Python3 Tcp未发送/接收完数据即被RST处理办法
  9. 云图说|华为云数据复制服务 打造不一样的用户权限迁移
  10. Django的设计模式
  11. 如何用TXT文档数据批量制作商品条形码
  12. React Native 触摸事件处理详解
  13. springboot电影院订票售票系统毕业设计毕设作品开题报告开题答辩PPT
  14. Python体重指数计算器源代码
  15. 解决vscode下载慢的问题
  16. 各位前辈请问你们的本科毕业论文的外文文献都是从哪里找的,我搜到的都是中国的翻译成英语的?...
  17. katana之渲染输出AOV
  18. 繁荣 幸福 和平 PHP,松下幸之助——纯朴的心
  19. react-native获取农历日期和二十四节气
  20. 一份机器学习的自白书

热门文章

  1. RHEL6.3配置文件共享(5) Samba服务之三
  2. 企业邮箱自建战略优势大盘点
  3. 浅析COM的思想及原理
  4. ModuleNotFoundError: No module named 'win32api'
  5. selenium根据文本匹配定位
  6. 华为+京东数科(原京东金融)面经--Java后台开发
  7. CCF关于对NOIP2018复赛违规处罚的公告
  8. Java类文件结构详解
  9. 决策树算法之ID3与C4.5的理解与实现
  10. CentOS安全配置(转)