實踐ORM,建立基於Grove的.NET應用程式(二) (轉)

amyz發表於2007-08-17
實踐ORM,建立基於Grove的.NET應用程式(二) (轉)[@more@]

ORM,建立基於Grove應用(二):namespace prefix = o ns = "urn:schemas--com::office" />

 

撰稿 林學鵬 to:cnlxp@.com">cnlxp@msn.com

 

下新增CustomerDB類,該類負責對Customer的操作,包括新增,刪除,修改等操作。

  8)重複7,完成AddressDB類。

 

CustomerDB.cs

  using System;

  using App1.Entities;

  using Grove;

  using Grove.Data;

 

  public class CustomerDB

  {

  public CustomerDB()

  {

  }

  public void Insert(Customer c)

  {

  IObjectOperator oo=ObjectOperatorFactory.GetObjectOperator();

  oo.BeginTranscation();

  try

  {

  oo.InsertObject(c);

  oo.Commit();

  }

  catch(System.Exception e)

  {

  oo.Rollback();

  throw e;

  }

  oo.Dispose();

  }

  public void Delete(Customer c)

  {

  IObjectOperator oo=ObjectOperatorFactory.GetObjectOperator();

  oo.BeginTranscation();

  try

  {

  oo.RemoveObject(c);

  oo.Commit();

  }

  catch(System.Exception e)

  {

  oo.Rollback();

  throw e;

  }

  oo.Dispose(); 

  }

  public void Update(Customer c)

  {

  IObjectOperator oo=ObjectOperatorFactory.GetObjectOperator();

  oo.BeginTranscation();

  try

  {

  oo.UpdateObject(c);

  oo.Commit();

  }

  catch(System.Exception e)

  {

  oo.Rollback();

  throw e;

  }

  oo.Dispose(); 

  }

  public EntityData All()

  {

  IObjectOperator oo=ObjectOperatorFactory.GetObjectOperator();

  IObjectQuery oq=oo.NewQuery(typeof(Customer));

  EntityData customers=new EntityData();

  oq.Execute(customers);

  oo.Dispose();

  return customers;

  }

  }

AddressDB.cs

  using System;

  using WebApp1.Entities;

  using Grove;

  using Grove.DataObject;

 

  public class AddressDB

  {

  public AddressDB()

  {

  }

  public void Insert(Address a)

  {

  IObjectOperator oo=ObjectOperatorFactory.GetObjectOperator();

  oo.BeginTranscation();

  try

  {

  oo.InsertObject(a);

  oo.Commit();

  }

  catch(System.Exception e)

  {

  oo.Rollback();

  throw e;

  }

  oo.Dispose();

  }

  public void Delete(Address a)

  {

  IObjectOperator oo=ObjectOperatorFactory.GetObjectOperator();

  oo.BeginTranscation();

  try

  {

  oo.RemoveObject(a);

  oo.Commit();

  }

  catch(System.Exception e)

  {

  oo.Rollback();

  throw e;

  }

  oo.Dispose(); 

  }

  public void Update(Address a)

  {

  IObjectOperator oo=ObjectOperatorFactory.GetObjectOperator();

  oo.BeginTranscation();

  try

  {

  oo.UpdateObject(a);

  oo.Commit();

  }

  catch(System.Exception e)

  {

  oo.Rollback();

  throw e;

  }

  oo.Dispose(); 

  }

  public EntityData SelectAll()

  {

  IObjectOperator oo=ObjectOperatorFactory.GetObjectOperator();

  IObjectQuery oq=oo.NewQuery(typeof(Address));

  EntityData addresses=new EntityData();

  oq.Execute(addresses);

  oo.Dispose();

  return addresses;

  }

  }

程式碼2.資料庫類


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-963535/,如需轉載,請註明出處,否則將追究法律責任。

相關文章