實踐ORM,建立基於Grove的.NET應用程式(二) (轉)
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 乾貨|EasyMR 基於 Kubernetes 應用的監控實踐
- 8月最新基於kubernetes的應用編排實踐
- BizWorks 應用平臺基於 KubeVela 的實踐
- 亞信科技基於 Apache SeaTunnel 的二次開發應用實踐Apache
- 聊天室應用開發實踐(二):實現基於 Web 的聊天室Web
- XPages 開發實踐:開發基於 XPages 的複合應用程式
- 建立Java的應用程式(轉)Java
- .NET雲原生應用實踐(四):基於Keycloak的認證與授權
- .NET雲原生應用實踐(二):Sticker微服務RESTful API的實現微服務RESTAPI
- .NET雲原生應用實踐(四):基於Keycloak的認證與授權AL
- Attribute 在.NET程式設計中的應用(二) (轉)程式設計
- 基於 Kafka 的實時數倉在搜尋的實踐應用Kafka
- 基於Golang的微服務——Micro實踐(二)Golang微服務
- 興業證券基於Apache DolphinScheduler的應用實踐Apache
- Netty 框架學習 —— 基於 Netty 的 HTTP/HTTPS 應用程式Netty框架HTTP
- 基於CMS的元件複用實踐元件
- 重新整理 .net core 實踐篇————依賴注入應用[二]依賴注入
- 減少.NET應用程式記憶體佔用的一則實踐記憶體
- BizWorks應⽤平臺基於KubeVela的實踐
- VB.net中HOOK的應用(二) (轉)Hook
- 金融企業基於業務可用性管理建立監控管理體系的實踐與應用
- C#基礎系列:實現自己的ORM(反射以及Attribute在ORM中的應用)C#ORM反射
- 基於 Coolbpf 的應用可觀測實踐 | 龍蜥技術
- 基於.NET C#的 sqlite 資料庫 ORM 【Easyliter】C#SQLite資料庫ORM
- React 應用實踐(基礎篇)React
- 基於 eBPF 的 Kubernetes 可觀測實踐eBPF
- Kubernetes 部署 Laravel 應用的最佳實踐Laravel
- kubernetes在騰訊遊戲的應用實踐遊戲
- 建立安全PHP應用程式的實用建議PHP
- .NET 5 ORM 八大實用技巧 乾貨 - SqlSugar ORMORMSqlSugar
- 3D GIS 應用開發 —— 基於 Mapbox GL 的實踐3D
- 基於Elixir使用Phoenix建立CQRS/ES應用
- kubernetes實踐之二:建立TLS證書和金鑰TLS
- 優化.NET 應用程式 CPU 和記憶體的11 個實踐優化記憶體
- 應用實踐 | 蜀海供應鏈基於 Apache Doris 的資料中臺建設Apache
- DCOS實踐分享(3):基於Mesos 和 Docker企業級移動應用實踐分享Docker
- ArgoCD實踐之基於配置清單建立ApplicationGoAPP
- 精通ASP.NET(基於VB.NET)( 二)VB.NET類 (轉)ASP.NET