简化基于数据库的DotNet应用程序开发

分析

要做一个基于数据库的应用程序,我们有大量的重复劳动要去做,建表,写增 删改查的SQL语句,写与数据库表对应的实体类,写执行SQL的c#代码,写添加、 修改、列表、详细页面等等。这些活动都是围绕着一个个都数据表来开展的, 在.NET领域有很多的OR Mapping的方案,但好多方案用起来好用,但原理很复杂 ,而且性能也不好把握,所以我们可以做一个轻型的ORM方案。有了ORM框架,根 据数据表写c#实体类这些劳动,其实也可以写一个代码生成器来帮我们生成,甚 至代码生成器还能帮我们生成一些界面的代码。我们大概需要解决如下问题

1、我们要有一个通用的数据库操作帮助类,类似微软的DAAB,但最好能支持 多种数据库;

2、我们要有一个使用简单的orm框架,能方便的用c#代码来进行数据库存取操 作,而且要尽量保证性能,比如使用参数化查询;

3、我们要有一个代码生成器帮助我们解决一些重复性劳动,比如生成实体类 ,生成调用存储过程的c#代码等;

围绕这3个问题,我们一一来展开

一、通用的数据库吃操作帮助类

ADO.NET 2.0为我们访问数据库提供了一套与具体数据库无关的模型,其核心 类是DbProviderFactory,它遵循了Provider模式,就是把对各种数据库的操作抽 象出一个Provider,再由各种数据库去写与具体数据库相关的Provider,然后通 过配置在运行时方便的切换数据库,而尽量少的不修改业务逻辑层的代码,业务 逻辑层依赖的是抽象的Provider。这也是典型的依赖倒置,就是说业务逻辑说我 需要哪些接口,我依赖这些接口,而让别人去实现这些接口,在运行的时候再去 加载调用实现这些接口的具体类。

为了提高性能,减少SQLSERVER执行计划的重编译,我们尽量使用参数化的查 询,而一个固定的语句或者存储过程它的ADO.NET参数是固定的,所以我们可以把 这些参数缓存起来,避免每次执行SQL语句都创新新的参数对象。另外oledb的 ado.net provider的参数是不能命名的,所以给参数赋值要按顺序赋值。

为了使用方便,我们为执行SQL语句提供如下的API

public System.Data.DataSet SqlExecuteDateSet(string sql, string[] 

paramters, params object[] values)

public System.Data.DataTable SqlExecuteDateTable(string sql, string[] 

paramters, params object[] values)

public int SqlExecuteNonQuery(string sql, string[] paramters, params 

object[] values)

public System.Data.Common.DbDataReader SqlExecuteReader(string sql, 

string[] paramters, params object[] values)

public object SqlExecuteScalar(string sql, string[] paramters, params 

object[] values)

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
, c#
, string
, 参数
, 代码
, c# dotnet
一个
数据库应用系统开发、数据库应用与开发、数据库应用开发工具、数据库应用开发、数据库原理及开发应用,以便于您获取更多的相关知识。

时间: 2024-08-04 04:45:17

简化基于数据库的DotNet应用程序开发的相关文章

基于Grove的.NET应用程序开发提示

程序 基于Grove的.NET应用程序开发提示 1. 尽量避免新增映射实体类,主要表现在关系映射实体.当程序需要查询符合某种条件的记录时,往往需要通过关系映射实体进行查询,当该关系实体在其他调用者使用时,有时又因为缺少某些字段而需要向该关系映射实体新增查询字段或重新建立实体,所以在关系实体建立的时候,应尽量考虑其他调用者的需求,这样可以有效的避免关系映射实体的重复或因关系实体的改变而导致的其他不安定因素. 2. 避免在数据操作层中出现同样的功能(方法),尽管这些功能可能不属于同一个管理类.当调用

基于Oracle ADF的应用程序开发

摘要:介绍了ADF的特点和结构,描述了使用ADF开发J2EE应用程序的过程. 关键词:ADF ORACLE J2EE MVC ADF简介 ADF(Application Development Framework)是Oracle公司为简化J2EE程序开发的复杂性专门开发的一 种解决方案,ADF通过减少实现设计模式和应用程序框架的代码量,简化了J2EE的研发难度.其优点主要 体现在以下四个方面: (1) 开发环境:大部分J2EE框架都没有与之配套的开发工具,ORACLE为ADF提供了JDEVELO

针对InfoSphere BigInsights的基于Eclipse工具加快应用程序开发

如果您刚接触大数据应用程序开发并且想要快速进行开发,那么您可能希望了解 IBM InfoSphere BigInsights Enterprise Edition(一个基于开源 Apache Hadoop 项目的平台)提供的工具.BigInsights Eclipse 工具包括向导.代码生成器.上下文相关的帮助,以及一种简化开发工作的测试环境.使用这些工具,您可以在 BigInsights 基于 Web 的目录中快速 "发布" 应用程序.然后,您可以使用 BigInsights Web

甲骨文推出两款数据库应用程序开发工具

甲骨文股份有限公司是全球大型数据库软件公司,成为全球仅次于微软的全球第二大软件公司,总部位于美国加州的红木滩,现时行政总裁为公司创办人罗伦斯·艾利森(Lawrence J. Ellison).甲骨文1977年硅谷由3人合制,最初一年赚不够百万美金,在10年间迅速冒起,2004年市值达640亿美元. 约在2000年前后,微软的数据库产品,只集中在中小企市场,但微软推出MS SQL 7数据库后,技术上突破,抢占高档软件市场.IBM亦以DB2数据库,高姿态抢攻市场,令甲骨文面临庞大挑战.在制定反击策略

IBM Workplace Designer V2.6应用程序开发简介

您已经听说过 IBM Workplace Designer,并想要知道它究竟是什么样的.本 文向您介绍 IBM Workplace Designer,描述谁应该使用它,以及何时使用它, 并带领您逐步构建一个示例应用程序,说明用 IBM Workplace Designer 开发定 制应用程序有多么容易. 什么是 IBM Workplace Designer? IBM Workplace Designer 是一个非常新的开发平台,用于快速构建 J2EE 应 用程序,并最终构建富客户机应用程序.它是

Gecode 3.7.0发布 系统应用程序开发环境

Gecode是一种可移植.高效的基于约束的系统http://www.aliyun.com/zixun/aggregation/13521.html">应用程序开发环境.从根上来说,Gecode是个开放的程序,也就是说它可以很容易地连接到其他系统.支持新的传播函数(如执行的约束).分支策略和搜索引擎的编程.新的可变域可以在同一效率级别的有限域和整数集的预定义变量来进行编程. Gecode 3.7.0版本增加和改善了多个执行约束,包含:共设置变量,整数变量的限制,使用整数集,范围,根元素的约束

c/s基于数据库的开发,是不是和单机程序一样。

问题描述 c/s基于数据库的开发,是不是和单机程序一样.只是数据连接的是局域网上的服务器的sqlserver,而不是本机的sqlserver?连接上了,就和单机的开发一样了? 解决方案 解决方案二:如果是直连数据库没啥区别解决方案三:还有不是直连数据库的?解决方案四:引用2楼gzlaspnet的回复: 还有不是直连数据库的? 所谓的单机就是数据库和运行程序在同一台电脑上,脱离的这个条件就不能称之为单机...解决方案五:c/s跟那个没什么关系吧你本机用的就是单机通过服务器访问的就是C/s啊解决方案

Spring JDBC抽象框架简化Web数据库开发

web|数据|数据库 一. 引言 Spring是一个轻量级的应用程序框架.在许多情况中,Spring都能够良好地代换传统的由Java EE应用程序服务器所提供的服务.Spring既是综合性的也是模块化的.基于其分层架构,它能够使开发者灵活地单独使用其任何一部分.Spring由许多模块组成,例如IoC容器,AOP,MVC,持久性,DAO和remoting.这些模块都是相当松耦合的:其中,一些模块的使用根本不需要另一些模块.以前,简直还没有象Spring应用程序这样的:你可以选择使用一些,大多数,或

现流行数据库程序开发工具的比较分析

比较|程序|数据|数据库 [程序开发系列一]现流行数据库程序开发工具的比较分析 武汉华中师大信管系 谢刚 摘要:随着计算机技术不断发展,各种数据库编程工具也随着发展,使当今的大多数程序开发人员可以摆脱枯燥无味的用计算机指令或汇编语言开发软件,而是利用一系列高效的.具有良好可视化的编程工具去开发各种数据库软件,从而达到事半功倍的效果,但是现在市面上的数据库编程工具门类众多,优良不齐,比如VB,VC,DEPHI,PB等,对此我特别针对流行的开发语言介绍相应的较为成熟的数据库编程工具. 关键字:数据库