C#语言有很多值得学习的地方,这里我们主要介绍C#数据访问层,包括介绍如何使用.NET实现直接计算一个表达式等方面。
上周给大家说了说如何使用.NET实现直接计算一个表达式,其实该方法可以扩展为执行一个类里面的一个方法或者使用在其他更有用的地方,正如文章中所说,文章只是描述可以实现的一个方法,以及该方法的一个简单实现。
今天我们要看看怎么使用.NET一个自动生成源代码,配合上一篇文章您就可以使用自己产生代码供自己消费了
听起来是不是很爽?有些朋友可能会说这个有点难吧,其实不然。我们工程里面使用了微软提供的CodeDom命名空间,所以可以轻松实现。有关 CodeDom的详细信息可以参考MSDN,上面说的非常清楚!我在这里也就不罗索了。连接参考:http://msdn.microsoft.com /library/en-us/cpref/html/frlrfSystemCodeDom.asp?frame=true
本文介绍一个简单的C#数据访问层的源代码自动生成的实现,所有的代码都是使用hard-code的方式写的,如果您有兴趣可以使用其他的方法,比如数据库(资源文件)中获得资源,生成源代码,还可以实现一些O-R Mapping的操作。
该文章中的C#数据访问层中有一个属性一个字段以及一个方法。属性是一个获得连接对象的属性,字段是一个连接对象的私有成员,方法是一个Get方法,得到一个查询结果集。源代码生成以后就象下面这个样子:
- using System;
- using System.Data;
- using System.Data.SqlClient;
- namespace Power.Cuike519 {
- public class PowerDataAccess {
- private SqlConnection m_connection;
- public PowerDataAccess() {
- }
- public virtual SqlConnection Connection {
- get {
- return this.m_connection;
- }
- set {
- this.m_connection = value;
- }
- }
- public virtual DataSet GetAllAuthors(string s_State) {
- try {
- if (this.m_connection!=null) {
- System.Data.SqlClient.SqlDataAdapter da = new SqlDataAdapter(string.Format
("select * from authors where state like '{0}'",s_State),this.m_connection);- System.Data.DataSet ds = new DataSet();
- da.Fill(ds);
- return ds;
- }
- else {
- return null;
- }
- }
- catch (System.ApplicationException ex) {
- throw ex;
- }
- finally {
- this.m_connection.Close();
- }
- }
- }
- }
【编辑推荐】