实践ORM,创建基于Grove的.NET应用程序(二)
2003-12-18 00:02
399 查看
实践ORM,创建基于Grove的.NET应用程序(二)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
撰稿 林学鹏 cnlxp@msn.com
7)在当前项目的EntityDB下添加CustomerDB类,该类负责对Customer的数据库操作,包括添加,删除,修改等操作。
8)重复7,完成AddressDB类。
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);
oo.Dispose();
return addresses;
}
}
代码2.数据库类
撰稿 林学鹏 cnlxp@msn.com
7)在当前项目的EntityDB下添加CustomerDB类,该类负责对Customer的数据库操作,包括添加,删除,修改等操作。
8)重复7,完成AddressDB类。
CustomerDB.cs |
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);
oo.Dispose();
return addresses;
}
}
代码2.数据库类
相关文章推荐
- 实践ORM,创建基于Grove的.NET应用程序(一)
- 实践ORM,创建基于Grove的.NET应用程序(三)
- 实践ORM,创建基于Grove的.NET应用程序(四)
- 基于Grove的.NET应用程序开发提示
- 基于Grove的.NET应用程序开发提示1--数据库主键设置问题
- 基于Grove实践ORM的感悟
- 基于Grove的.NET应用程序开发提示1--数据库主键设置问题
- 基于Grove的.NET应用程序开发提示
- 基于Grove的.NET应用程序开发提示2
- 基于Grove的.NET应用程序开发提示2
- 基于Grove的.NET应用程序开发提示
- 基于.NET的Windows数据库应用程序开发的心路历程 --我的程序“猿”进化之路
- 使用图形编辑框架创建基于 Eclipse 的应用程序
- 用delegate实现.NET应用程序的同步函数的异步调用-.NET多线程编程实践之一
- 多线程学习(一)——通过多线程为基于 .NET 的应用程序实现响应迅速的用户
- 创建基于 Win32 的应用程序 (C++)
- 使用 Microsoft.NET Frameworks 创建基于 Windows 的应用程序
- Creating Dialogbased Windows Application (3) / 创建基于对话框的Windows应用程序(三)Checkbox的应用、窗体置顶、设置图标 / VC++, Windows
- 使用Apworks开发基于CQRS架构的应用程序(六):创建.NET WCF服务
- vs2008中让基于.net 2.0的应用程序也可以使用扩展方法