汗一把,第二次写这个三了,希望不会再发表失败的事情了。谢谢。
这次主要是讲一讲通过实体来操作数据库的方法,这也是Orm的核心了,下面代码演示添加,更新,删除,查询等操作
实体类参考一里面的Employee类,
添加方法为IDataBase的Save(IEntity entity);,例子如下:
查询单个实体的方法为IDataBase接口中的Get<T>();
更新方法为IDataBase接口中的Update<IEntity entity>();
删除方法为IDataBase接口中的Delete<T>(object id);
基本上是比较简单了,因为考虑到一次数据库连接可能执行多个操作,所以没有把数据库的open,close封装进去,这也是个人现有情况的一种思想吧。这也无须多讲,都一看就能明白的。下篇主要讨论下我的主要设计思想
这次主要是讲一讲通过实体来操作数据库的方法,这也是Orm的核心了,下面代码演示添加,更新,删除,查询等操作
实体类参考一里面的Employee类,
添加方法为IDataBase的Save(IEntity entity);,例子如下:
- private void Insert()
- {
- Employee emp=new Employee();
- emp.Age=12;
- emp.BirthDay=DateTime.Now;
- emp.Name="ojekleen";
- emp.Sex=true;
- IDataBase dbase = DataBaseFactory.GetDataBase("conn1");
- try
- {
- dbase.Open();
- dbase.BeginTransaction();
- dbase.Save(emp);
- dbase.Commit();
- }
- catch (DataBaseException ex)
- {
- dbase.RollBack();
- this.Page.ClientScript.RegisterStartupScript(this.GetType(), "Exception", "<script>alert('" + ex.Message + "');</script>");
- }
- finally
- {
- dbase.Close();
- }
- }
- private void Get()
- {
- IDataBase dbase = DataBaseFactory.GetDataBase("conn1");
- dbase.Open();
- Employee emp=dbase.Get<Employee>(23);//23为主键ID的值
- dbase.Close();
- }
更新方法为IDataBase接口中的Update<IEntity entity>();
- private void Update()
- {
- IDataBase dbase = DataBaseFactory.GetDataBase("conn1");
- try
- {
- dbase.Open();
- Employee emp = dbase.Get<Employee>(23);//23为主键ID的值
- emp.Name = "三尾";
- emp.Age = 24;
- emp.Sex = false;
- dbase.Update(emp);//无事务情况
- }
- catch (DataBaseException ex)
- {
- dbase.RollBack();
- this.Page.ClientScript.RegisterStartupScript(this.GetType(), "Exception", "<script>alert('" + ex.Message + "');</script>");
- }
- finally
- {
- dbase.Close();
- }
- }
删除方法为IDataBase接口中的Delete<T>(object id);
- private void Delete()
- {
- IDataBase dbase = DataBaseFactory.GetDataBase("conn1");
- try
- {
- dbase.Open();
- dbase.BeginTransaction();//有事务情况
- dbase.Delete<Employee>(25);
- dbase.Commit();
- }
- catch (DataBaseException ex)
- {
- dbase.RollBack();
- this.Page.ClientScript.RegisterStartupScript(this.GetType(), "Exception", "<script>alert('" + ex.Message + "');</script>");
- }
- finally
- {
- dbase.Close();
- }
- }