ServiceStack.OrmLite使用

8 篇文章 1 订阅

因为在仿真建模的过程中,希望把运行过程传递给数据可视化的控制台显示出来,约定了以离线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);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皓月如我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值