sqliteCodeFirst实战:用文件数据仓库储存档软件配置

背景:

原先要写软件的时候,在编辑用户配置这一块时,由于存档数据库不可相信或大题小作,所以一般是存在文本中。
一初始是多少个文书保留一个铺排(图个File.Read与File.Write的操作简捷)
鉴于软件平常升级,用户的配备也会不停的充实,又得出色从前,又要新增加,之后的布局又用了相隔与换行来来保存多条配置。
再一次多了之后,多少感觉到劳动~~~

 

解决:

之所以,对于DBImport,你看早期的本子,对于用户的数据库链接,也没封存配置,说白了就是懒啊。
新生有用户反馈要扩张,加之CYQ.Data的公文数据库作用相对更为周密,以及使用上也有利于了,所以就充实上去了。

 

故而明天就以那一个为实例,讲解一下是怎么方便法:

 

对于DBImport来说,有三个输入框,为了方便存档及下次起动,需求保留下并于下次运行时还原:

sqlite 1 

 

实战如下:

 

1:用入CYQ.Data.dll
V5版本的。

2:CodeFirst编写个实体:

 class Config : CYQ.Data.Orm.OrmBase
    {
        public Config()
        {
            base.SetInit(this, “Config”, “txt path={0};ts=0”);
        }
        private int ID{get;set;}
        private string Key{get;set;}
        public string Value{get;set;}
    }

说明:

表名:Config;

{0}:代码根目录,即软件运转目录; 

ts=0:新增的分辨参数,不成立Config.ts的表结构文件。 

 

3:接下去正是按钮点击事件成功后,把数据为链接保存:

 //保存链接字符串。
                    using (Config config = new Config())
                    {
                        if (config.Fill(“key=’ConnFrom'”))
                        {
                            config.Value = connFrom;
                            config.Update();
                        }
                        else
                        {
                            config.Key = “ConnFrom”;
                            config.Value = connFrom;
                            config.Insert(InsertOp.None);
                        }
                    }

借使链接已存在,就是翻新,若是不存在,正是插入了。

 

4:软件初运维的时等候检查查和测试数据是不是存在,并安装早先值还原:

    using (Config config = new Config())
            {
                if (config.Fill(“Key=’ConnFrom'”))
                {
                    txtConnFrom.Text = config.Value.ToString();
                }
                if (config.Fill(“Key=’ConnTo'”))
                {
                    txtConnTo.Text = config.Value.ToString();
                }
            }

 

5:一切就绪,F5运作后,软件目录下就多了一个文书(文本数据存存档json或xml格式数据):

sqlite 2 

 

此处提一下,假诺文本数据库链接不钦命ts=0,在一如既往目录下会创建数据库结构:

sqlite 3 

 

演示就到此地结束了。

对于CodeFirst,是永葆具备数据库,然则又有微微组别:

尽管是对此sqlite,mssql,oracle,mysql等,由于数量是一定是存到数据库的,所以CodeFirst编码运营后,肯定是会创设表结构到数据库中,才能储存数据。

意思正是,即使有数据库字段变化,也许须要到数据Curry修改对应的字段;

而文本数据库,假若是充实或缩小属性字段,则完全无事,就算是删除或改动字段名称,假设字段的多少并非,则也无事,假如原字段数据必要,本身打开事本,批量轮换一下,也是十分有益。

 

总体来说,个人觉的CodeFirst的操作办法,依旧文本数据库来的莫过于与福利~~~
而任何数据库,尽管即便中间变更,依然要改成,那就又回到CodeLast了。。。

网站地图xml地图