CodeFirst实战:用文件数据库存档软件配置

背景:

先前只要描绘软件之上,在编辑用户配置这同一片常,由于存档数据库不靠谱或大题小作,所以一般是存在文本中。
相同开始是一个文件保留一个布局(图个File.Read与File.Write的操作简便)
鉴于软件时升级,用户之部署也会无歇的加码,又得相当以前,又使新增加,之后的配备又用了相隔与换行来来保存多修配置。
重多矣后头,多少感觉到劳动~~~

 

解决:

故而,对于DBImport,你看早期的本,对于用户之数据库链接,也没有封存配置,说白了即是疲劳啊。
新兴起用户反馈而加,加之CYQ.Data的文件数据库功能相对更加全面,以及采取及呢便于了,所以即使添上去了。

 

因而今天即使因为这为实例,讲解一下是怎么方便法:

 

于DBImport来说,有三三两两个输入框,为了便于存档及下次启动,需要保留下并于下次开行时还原:

图片 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格式数据):

图片 2 

 

这边领一下,如果文本数据库链接不点名ts=0,在同等目录下会创建数据库结构:

图片 3 

 

示范就顶这里结束了。

对此CodeFirst,是支持有数据库,但是同时生出小区别:

倘是对此sqlite,mssql,oracle,mysql等,由于数量是迟早是存到数据库的,所以CodeFirst编码运行后,肯定是会见创造表结构及数据库中,才会积存数据。

意就是是,如果产生数据库字段变化,可能用到数据库里窜对应之字段;

使文本数据库,如果是搭还是裁减属性字段,则全无从业,如果是抹或修改字段名称,如果字段的数毫无,则为不论事,如果原本字段数据要,自己打开事本,批量调换一下,也是一对一有益。

 

圆来说,个人觉的CodeFirst的操作办法,还是文本数据库来之莫过于和有利~~~
而其余数据库,虽然要中变更,还是如改,那便同时赶回CodeLast了。。。

网站地图xml地图