当前位置:主页   - 电脑 - 网站开发 - ASP.Net
NHibernate之旅(5):探索Insert, Update, Delete操作
来源:网络   作者:   更新时间:2012-08-19
收藏此页】    【字号    】    【打印】    【关闭

  本节内容

  操作数据概述

  1.新建对象

  2.删除对象

  3.更新对象

  4.保存更新对象

  结语

  操作数据概述

  我们常常所说的一个工作单元,通常是执行1个或多个操作,对这些操作要么提交要么放弃/回滚。想想使用LINQ to SQL,一切的东西都在内存中操作,只有调用了DataContext.SubmitChanges()方法才把这些改变的数据提交到数据库中,LINQ to SQL那么提交要么回滚。

  我们使用NHibernate也一样,如果只查询数据,不改变它的值,就不需要提交(或者回滚)到数据库。

  注意:这节,我们在上一节源代码的基础上,在数据访问层中新建CRUD.cs类用于编写操作方法,在数据访问的测试层新建一CRUDFixture.cs类用于测试。

  1.新建对象

  简单描述:新建一个对象;调用ISession.Save();同步ISession。

  例子:在数据访问层编写CreateCustomer()方法,把传过来的Customer对象保存在数据库中。

public int CreateCustomer(Customer customer)
{
  int newid = (int)_session.Save(customer);
  _session.Flush();
  return newid;
}

  我们测试这个方法,新建一个Customer对象,调用CreateCustomer()方法返回新插入的CustomerId,再次根据CustomerId查询数据库是否存在这个对象。

[Test]
public void CreateCustomerTest()
{
  var customer = new Customer() { Firstname = "YJing", Lastname = "Lee" };
  int newIdentity = _crud.CreateCustomer(customer);
  var testCustomer = _crud.GetCustomerById(newIdentity);
  Assert.IsNotNull(testCustomer);
}
2.删除对象

  简单描述:获取一个对象;调用ISession.Delete();同步ISession。

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明