当前位置: 首页 > news >正文

网站建设商标属于哪个类别wordpress 只显示文章标题

网站建设商标属于哪个类别,wordpress 只显示文章标题,百度做网站怎么样,网页设计与制作概述NHibernate之旅(5)#xff1a;探索Insert, Update, Delete操作 2008-10-17 16:31 by 李永京, 42903 阅读, 73 评论, 收藏, 编辑 本节内容 操作数据概述1.新建对象2.删除对象3.更新对象4.保存更新对象结语操作数据概述 我们常常所说的一个工作单元#xff0c;通常是执行1个或… NHibernate之旅(5)探索Insert, Update, Delete操作 2008-10-17 16:31 by 李永京, 42903 阅读, 73 评论, 收藏,  编辑 本节内容 操作数据概述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。 说明使用ISession.Delete()会把对象的状态从数据库中移除。当然你的应用程序可能仍然持有一个指向它的引用。所以最好这样理解Delete()的用途是把一个持久化实例变成临时实例。  你也可以通过传递给Delete()一个NHibernate 查询字符串来一次性删除很多对象。删除对象顺序没有要求不会引发外键约束冲突。当然有可能引发在外键字段定义的NOT NULL约束冲突。 例子在数据访问层编写DeleteCustomer()方法从数据库中删除Customer对象。 public void DeleteCustomer(Customer customer) {_session.Delete(customer);_session.Flush(); } 我们测试这个方法在数据库中查询CustomerId为2的Customer对象调用DeleteCustomer()方法删除再次根据CustomerId查询数据库是否存在这个对象。 [Test] public void DeleteCustomerTest() {var coutomer _crud.GetCustomerById(2);_crud.DeleteCustomer(coutomer);var testCustomer _crud.GetCustomerById(2);Assert.IsNull(testCustomer); } 3.更新对象 简单描述获取一个对象改变它的一些属性调用ISession.Update()同步ISession。 例子在数据访问层编写UpdateCustomer()方法修改Customer对象。 public void UpdateCustomer(Customer customer) {_session.Update(customer);_session.Flush(); } 测试这个方法在数据库中查询CustomerId为1的Customer对象并修改它的Firstname属性值调用UpdateCustomer()方法更新再次查询数据库中CustomerId为1的Customer对象的Firstname值为修改之后的值。 [Test] public void UpdateCustomerTest() {var customer _crud.GetCustomerById(1);customer.Firstname liyongjing;_crud.UpdateCustomer(customer);var testCustomer _crud.GetCustomerById(1);Assert.AreEqual(liyongjing, customer.Firstname); } 4.保存更新对象 你会不会想出这个问题哪些是刚刚创建的对象哪些是修改过的对象对于刚刚创建的对象我们需要保存到数据库中对于修改过的对象我们需要更新到数据库中。 幸好ISession可以识别出这不同的对象并为我们提供了ISession.SaveOrUpdate(object)方法 ISession.SaveOrUpdate(object)方法完成如下工作 检查这个对象是否已经存在Session中。如果对象不在调用Save(object)来保存。如果对象存在检查这个对象是否改变了。如果对象改变调用Update(object)来更新。看看下面例子说明了这种情况在数据访问层编写SaveOrUpdateCustomer()方法保存更新Customer对象列表依次遍历列表中的Customer对象调用ISession.SaveOrUpdate(object)方法保存更新每个Customer对象。 public void SaveOrUpdateCustomer(IListCustomer customer) {foreach (var c in customer) { _session.SaveOrUpdate(c); } _session.Flush(); } 测试这个方法先在数据库中查询Firstname为YJing的Customer对象并修改它的Lastname属性值这些对象是数据库中存在的并改变了然后新建2个Customer对象这两个对象在数据库中不存在是新创建的。调用SaveOrUpdateCustomer()方法保存更新对象即更新前面修改的对象和保存了后面新创建的2个对象。再次查询数据库中Firstname为YJingLastname为YongJing的Customer对象是否一致了。 [Test] public void SaveOrUpdateCustomerTest() {IListCustomer customers _crud.GetCustomersByFirstname(YJing);foreach (var c in customers) { c.Lastname YongJing; } var c1 new Customer() { Firstname YJing, Lastname YongJing}; var c2 new Customer() { Firstname YJing, Lastname YongJing}; customers.Add(c1); customers.Add(c2); int initiaIListCount customers.Count; _crud.SaveOrUpdateCustomer(customers); int testListCount _crud.GetCustomersByFirstnameAndLastname(YJing, YongJing).Count; Assert.AreEqual(initiaIListCount, testListCount); } 结语 当然这一节操纵对象操作在NHibernate中涉及了对象的状态 对象对一个特定的ISession来说有三种状态分别是瞬时(transient)对象、持久化(persistent)对象、游离(detached)对象。这一节没有说到了以后在讨论Session的时候再介绍。 转载于:https://www.cnblogs.com/zhengwei-cq/p/7359665.html
http://www.yutouwan.com/news/64727/

相关文章:

  • 营销型网站建设价格贵吗WordPress如何设置站点名称
  • 个体工商户能做网站吗提供做网站
  • 合肥网站建设合肥成都网站建设顶呱呱
  • 长沙自助模板建站网页生成app
  • 网站建设的三大原则用网站ip做代理服务器
  • 网站推广策划思路的内容龙华个人网站建设
  • 做招投标有哪些网站网站内容优化方法有哪些内容
  • 如何建立公司网站链接网站建设的提升
  • 如何把地图放到网站上营销型企业网站推广的方法有哪些
  • 国外网站公司企业logo
  • 关岭网站建设建设网站必须用dns
  • 漳州模板网站建设google商店
  • 哈尔滨哪里有做网站的网站建设昆山博敏
  • 百度收录网站链接韶关建网站
  • 有哪些可以做图的网站啊25转行做网站运营
  • 阿坝网站制作地推团队去哪里找
  • 上外贸网站建设公司做公司网站
  • 邯郸有建网站的吗此网站域名三天更换
  • 高端网站建设公司价格建筑设计公司名字大全
  • 网站建设设计方案如何制作手机网页最简单的方法
  • 太原网站排名外包河北网站建设备案价格
  • 网站流量50g发帖效果好的网站
  • 建设一个网站需要哪些余姚做网站设计的公司
  • 网站优化 流量品牌设计包括哪些内容
  • 石家庄公司网站设计中国农技推广网
  • 厦门SEO_厦门网站建设工业互联网建设
  • 专业网站建设收费安卓优化大师手机版
  • 凡科建站公司在线设计自己的签名
  • 电子商务网站开发步骤网络舆情案例
  • 外贸网站建设公司市场长沙最新招聘