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

原创 2003年12月18日 00:02:00

实践ORM,创建基于Grove.NET应用程序(二)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

撰稿 林学鹏 cnlxp@msn.com

 

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

       8)重复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);

              oo.Dispose();

              return addresses;

         }

     }

代码2.数据库类

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

实践ORM,创建基于Grove的.NET应用程序(三) 撰稿 林学鹏 cnlxp@msn.com        9) 在当前项目的Managers下添加CustomerManager类及Address...
  • shupu
  • shupu
  • 2003年12月18日 00:03
  • 1222

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

实践ORM,创建基于Grove的.NET应用程序(一) 撰稿 林学鹏 cnlxp@msn.com   就目前大多数软件开发项目的数据都存储在关系型数据库中,开发时要求开发人员对SQL语句语法以及规则等...
  • shupu
  • shupu
  • 2003年12月18日 00:02
  • 1862

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

实践ORM,创建基于Grove的.NET应用程序(四) 撰稿 林学鹏 cnlxp@msn.com        操作该关系映射实体类,简单示例:              IObjectOperato...
  • shupu
  • shupu
  • 2003年12月18日 00:10
  • 1125

基于Grove实践ORM的感悟

基于Grove实践ORM的感悟 名词解释 数据访问层:基于逻辑分层(Layer)的应用程序中直接与数据库交互的应用程序代码。 业务实体:应用程序中业务数据的载体,一般有DataSet、xml文本、...
  • JasonSeaver
  • JasonSeaver
  • 2004年07月01日 21:53
  • 2259

Grove—— .Net下的ORM框架

Grove—— .Net下的ORM框架   参见原文:http://grove.91link.com(英)   Grove下载   The .NET ORM Architecture(.Net ORM...
  • SophiaWang
  • SophiaWang
  • 2007年10月31日 10:27
  • 1314

创建.NET应用程序所经历的步骤

1、使用某种.NET兼容语言(如C#)编写应用程序。 2、把代码编译为(CIL),存储在程序集中。 3、在执行代码时(如果这是一个可执行文件,就自动运行,或者在其他代码使用它时运行),首先必须使用...
  • ahao214
  • ahao214
  • 2015年03月06日 22:54
  • 832

ORM进阶之Hibernate中多对一的映射关系

上一篇博客为大家讲了hibernate中的关联映射,还有一对一关系的两种实现方式,今天为大家说一下多对一的映射关系。 举个例子:一个班级可以有多个学生,而一个学生只能有在一个班级,而这...
  • zhanghongjie0302
  • zhanghongjie0302
  • 2015年09月04日 12:52
  • 2151

【EF 4】ORM框架及其流行产品之一EF介绍

导读:跳进了多租户切换数据库的坑,那么就继续走下去吧。在我们的项目中,是运用EF实现对数据库的操作,那么EF其实是.NET系统中,基于ORM框架的一个产品实现。在java那边,则有Hibernate和...
  • u013034889
  • u013034889
  • 2016年01月27日 14:50
  • 1910

Grove——.NET中的ORM实现

作者:林学鹏ORM的全称是Object Relational Mapping,即对象关系映射。它的实质就是将关系数据(库)中的业务数据用对象的形式表示出来,并通过面向对象(Object-Oriente...
  • wintersunair
  • wintersunair
  • 2006年10月12日 11:50
  • 403

.Grove—— .Net下的ORM框架

 .Grove—— .Net下的ORM框架 参见原文:http://grove.91link.com(英) Grove下载 The .NET ORM Architecture(.Net ORM 架构)...
  • weinasi3252
  • weinasi3252
  • 2007年03月14日 00:13
  • 1785
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实践ORM,创建基于Grove的.NET应用程序(二)
举报原因:
原因补充:

(最多只允许输入30个字)