Lex.db 数据库使用方法(之一)
2013-08-15 17:26
405 查看
Lex.db是一款跨平台的小型数据库.本人在做windowsPhone项目时,为了能让该数据库可以直接用在windows8上的同一款软件上费了相当多功夫.应该说此款数据库使用起来并不是特别难,而是手头可用的资料少,因此纠结了自己很久.现在将其一般的使用流程写下,希望大家少走点弯路.有关给数据库的介绍可以查看:http://lexblog.azurewebsites.net/.
该数据库一般的操作流程如下:
1.定义一个实体类:该类就是将来要存入数据库的.
2.使用NuGet将lex.DB添加到工程中
3.往头文件中添加using 声明,定义和初始化使用的数据库:var db = new DbInstance("某个文件名");程序会建立该文件然后往其中存放数据
4.定义需要存储的数据在这个阶段中,生成高度优化的映射代码,以极快的读/写数据类。
db.Map<Contact>().Automap(i => i.Id);
5.初始化数据库实例:db.Initialize();
6.开始工作:增 删 改 查 等等
7.关闭数据库.
最简单的情况莫过于只存储一个普通类.假设我们需要将类 Person存入数据库.
首先是我们定义好的类以及里面的成员.
然后我们需要将该类的信息存入数据库
最后在需要的地方声明一个该类的对象,进行操作即可.
该数据库一般的操作流程如下:
1.定义一个实体类:该类就是将来要存入数据库的.
2.使用NuGet将lex.DB添加到工程中
3.往头文件中添加using 声明,定义和初始化使用的数据库:var db = new DbInstance("某个文件名");程序会建立该文件然后往其中存放数据
4.定义需要存储的数据在这个阶段中,生成高度优化的映射代码,以极快的读/写数据类。
db.Map<Contact>().Automap(i => i.Id);
5.初始化数据库实例:db.Initialize();
6.开始工作:增 删 改 查 等等
7.关闭数据库.
最简单的情况莫过于只存储一个普通类.假设我们需要将类 Person存入数据库.
首先是我们定义好的类以及里面的成员.
public class Person { private int mId; public int Id { get { return mId; } set { mId = value; } } private int mAge; public int Age { set { Age = value; } get { return mAge; } } private string mName; public string Name { get { return mName; } set { mName = value; } } private string mJob; public string Job { get { return mJob; } set { mJob = value; } } }
然后我们需要将该类的信息存入数据库
using System.Linq; using Lex.Db; namespace .Example.Model { public class PersonDB { //声明数据库中的一个表 private static DbInstance sDb; //定义数据库中的表 public static void LoadDatabase() { if (sDb == null) { sDb = new DbInstance("PersonInFo"); sDb.Map<Person>().Automap(aPackageItem => aPackageItem.Id); sDb.Initialize(); } } //往数据库中插入数据 public static void InsertNewTrackingPackage(Person aPackage) { sDb.Table<Person>().Save(aPackage); } // 更新数据库中的表 public static void UpdateTrackingPackage(Person aPackage) { if (sDb == null) return; sDb.Table<Person>().Save(aPackage); } // 按照从小到大的顺序排列数据库中的项目 public static IOrderedEnumerable<Person> LoadAllTrackingPackages() { return sDb.Table<Person>().LoadAll().OrderByDescending(aPackage => aPackage.Id); } // 按照主键删除数据库中的项目 public static bool DeleteTrackingPackageByKey(int aId) { var result = sDb.Table<Person>().DeleteByKey(aId); return result; } // 删除数据库 public static void DisposeDatabase() { if (sDb != null) { sDb.Flush(); sDb.Dispose(); sDb = null; } } } }
最后在需要的地方声明一个该类的对象,进行操作即可.
相关文章推荐
- Lex.db 数据库使用方法(之二)
- Delphi使用BDE连接远程MS SQL SERVER 2000数据库时出现“Db-library network communciations layer not loaded.”错误的解决方法
- Delphi使用BDE连接远程MS SQL SERVER 2000数据库时出现“Db-library network communciations layer not loaded.”错误的解决方法
- Delphi使用BDE连接远程MS SQL SERVER 2000数据库时出现“Db-library network communciations layer not loaded.”错误的解决方法
- zend framework 中使用dbadapter操作数据库的几种方法(持续更新)
- Delphi使用BDE连接远程MS SQL SERVER 2000数据库时出现“Db-library network communciations layer not loaded.”错误的解决方法
- code first 使用已有的数据库并且改为Dbfirst获取Models的方法和TT模版
- sql server 还原数据库时提示数据库正在使用,无法进行操作的解决方法
- VB使用ADO操作数据库的常用方法
- 使用Connection对象建立数据库连接-连接类、属性和方法
- 使用dbstart和dbshut命令启动和关闭数据库
- asp.net下使用DbProviderFactories的数据库操作类
- 使用Spring-MongoDB访问全球分布数据库Cosmos DB(2)
- VC++下使用ADO操作数据库的智能指针_ConnectionPtr、_RecordsetPtr、_CommandPtr的方法
- 使用JPA的EntityManager.persist()方法无法保存到数据库的问题
- 在SpringSide 3 中使用多个数据库的方法
- Android ORM之GreenDao3.0 使用外部数据库.db文件总结
- 数据库同步的两种方式(发布、订阅使用方法
- php使用mysqli向数据库添加数据的方法
- android数据库存储方法(一)---------------SharedPreferences(实例)记录应用程序使用次数(一)