实践ORM,创建基于Grove的.NET应用程序(二)

** 实践 ** ** ORM ** ** ,创建基于 ** ** Grove ** ** 的 ** ** .NET ** ** 应用程序(二) ** ** **


撰稿 林学鹏 [email protected]

  1. 在当前项目的 EntityDB 下添加 CustomerDB 类, 该类负责对 Customer 的数据库操作,包括添加,删除,修改等操作。

  2. 重复 7 ,完成 AddressDB 类。

CustomerDB.cs


using System;

using WebApp1.Entities;

using Grove;

using Grove.DataObject;

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 SelectAll()

{

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);

<SPAN style="mso-bookmar

Published At
Categories with Web编程
Tagged with
comments powered by Disqus