C/S框架后台数据更新模型之ORM自动生成SQL基本原理
C/S框架后台数据更新模型之ORM自动生成SQL基本原理基于ADO.NET提交数据需要程序员写代码,使用DataAdapter.Update()方法提交数据前要实现3个DbCommand,分别是InsertCommand、UpdateCommand、DeleteCommand。作者有5年Delphi开发经验,Delphi只需调用ADOQuery.Update()就行了,不需要写3个DbCommand以及任何SQL脚本(特殊处理除外)。

说说CSFramework.COM后台数据更新模型
作者开发过多套基于数据管理应用系统,最原始的提交数据常用方法是使用Update,Insert,Delete三种SQL语句,数据表越多写的SQL越多,效率很低,开发周期变长。后来接触NHibernate组件,在我们的一个系统中成功应用了,接触新技术总是兴奋的,快速进入状态。在项目中期阶段,发现配置NHibernate所需的XML文件实在太多,维护带来的工作量也特别大,随着系统迭代升级,变的也越来越复杂。
NHibernate配置的XML文件对我有所启发,为什么要使用XML?
若把XML改装为C#的静态类或实体类是否更有效?
》》》 请看下面代码:
public class TProduct
{
[TableAttribute (true, false, true)]
public static string TableName = "tb_MyProduct";
[TableAttribute (false, true, false)]
public static string KeyName = "ProductCode";
[FieldAttribute (SqlDbType.Int, 4, false, false, false, false, false)]
public static string isid = "isid";
[FieldAttribute (SqlDbType.NVarChar, 20, false, true, false, false, false)]
public static string ProductCode = "ProductCode";
[FieldAttribute (SqlDbType.NVarChar, 50, false, true, false, false, false)]
public static string ProductName = "ProductName";
[FieldAttribute (SqlDbType.Decimal, 18, false, true, false, false, false)]
public static string SellPrice = "SellPrice";
[FieldAttribute (SqlDbType.NVarChar, 50, false, true, false, false, false)]
public static string Supplier = "Supplier";
[FieldAttribute (SqlDbType.NVarChar, 100, false, true, false, false, false)]
public static string Remark = "Remark";
}
这个类有两个功能:
//字段名
TProduct.ProductCode
//获取主表关键字
string key = data.Tables[TProductTake.TableName].Rows[0][TProductTake.TakeNo].ToString ();
/// <summary>
/// 业务逻辑管理主类. www.csframework.com 版权所有
/// </summary>
public class DataManager : DataUpdate
{
public DataManager(OleDbConnection conn)
: base(conn)
{
//
}
protected override Type GetTypeByTableName(string tableName)
{
if (tableName == TProductTake.TableName)
& nbsp; return typeof (TProductTake);
if (tableName == TProductTakeDetail.TableName)
& nbsp; return typeof (TProductTakeDetail);
throw new Exception("没绑定数据表结构 定义!");
}
public bool Update(System.Data.DataSet currentBusiness, UpdateType updateType)
{
return base.Update (currentBusiness);
}
}
在界面层调用 :
private void TestSave()
{
//初始化业务逻辑
DataManager dataManager = new DataManager(DataProvider.Instance.CreateConnection());
DataSet data = null;//你要保存的数据
dataManager.Update(data);
}
数据更新流程


ORM_FieldAttribute类详解:字段特性定义,框架内核根据此特性自动生成SQL脚本
C#.NET Winform轻量级UI框架软件快速开发平台(MySQL, Oracle, MsSQL)
原创C/S架构开源软件 - C#.NET+Winform+Dev+SQL快速开发框架
进销存快速开发框架(Winform三层架构+DevExpress+SQL2008R2)
C# C/S架构软件自动升级程序Winform+多数据库(MySQL,MsSQL,Oracle)-C/S开发框架
C# C/S架构软件自动升级程序Winform+多数据库(MySQL,MsSQL,Oracle)
物流运输管理系统TMS成功案例-CSFramework快速开发框架(Winform+C/S+SQLServer)
Winform企业级WCF快速开发框架平台(C/S架构+WCF+DevExpress+SQL多数据库)
C/S架构多语言界面UI框架软件开发框架(C#.NET+Winform+DEV+SQL)
Winform C/S架构快速开发框架Oracle版本与MsSQL版本区别
企业ERP进销存财务系统开发框架及开发平台(Winform+C#.NET+SQLServer)
Winform快速开发框架之权限系统设计(3) - 功能按钮权限控制基本原理
开发技巧-Winform窗体自动生成下一个业务流程的单据|C/S框架网
Winform+SQL开发CS架构大型ERP系统源码|C/S框架网
SQL Server连接池基本原理
ORM模型介绍(ORM Model)| CSFramework.WebApi服务端框架|C/S开发框架
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
