详情:针对Enterprise Library 2.0的框架:OFrame预览(代码和工具全部开源)
说明:架构和工具非常简单,就没写什么文档。
下载:OFrame
本框架暂时只支持Enterprise Library 2.0。
并通过代码生成工具可以生成:
1)常用存储过程
2)数据实体类
3)数据访问层
预览:
代码生成工具:

简单介绍:
首先感谢伟大的Geraldo Daniel Medrano Rocha先生提供底层,并通过邮件与其交流如何使此工具更OOP,功能更强大化。
架构预览:

简单的三层。其中Model与DAL层完全可以工具生成。SqlCmd层是用于自己写的sql语句扩展。
代码片断:
DAL:
/// <summary>
/// Inserts a record into the OF_Category table.
/// <summary>
/// <param name="category_Name"></param>
/// <param name="category_Description"></param>
/// <param name="category_Sort"></param>
/// <param name="category_DateTime"></param>
/// <param name="category_Power"></param>
/// <returns></returns>
public static void Insert(OF_CategoryModel model)
{
Database db = GetDb();
DbCommand dbCommand = db.GetStoredProcCommand("OF_CategoryInsert");
db.AddInParameter(dbCommand, "Category_Name", DbType.String, model.Category_Name);
db.AddInParameter(dbCommand, "Category_Description", DbType.String, model.Category_Description);
db.AddInParameter(dbCommand, "Category_Sort", DbType.Int32, model.Category_Sort);
db.AddInParameter(dbCommand, "Category_DateTime", DbType.DateTime, model.Category_DateTime);
db.AddInParameter(dbCommand, "Category_Power", DbType.Int32, model.Category_Power);
db.ExecuteNonQuery(dbCommand);
}
Model:

Model
using System;//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行库版本:2.0.50727.42
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------

namespace OFrame.Model


{

/**//// <summary></summary>
[Serializable()]
public class OF_CategoryModel

{
private int m_Category_ID;
private string m_Category_Name;
private string m_Category_Description;
private int m_Category_Sort;
private System.DateTime m_Category_DateTime = DateTime.MinValue;
private int m_Category_Power;

/**//// <summary>Attribute:Category_ID </summary>
/// <summary>Type:System.Int32</summary>
public int Category_ID

{
get

{
return this.m_Category_ID;
}
set

{
this.m_Category_ID = value;
}
}

/**//// <summary>Attribute:Category_Name </summary>
/// <summary>Type:System.String</summary>
public string Category_Name

{
get

{
return this.m_Category_Name;
}
set

{
this.m_Category_Name = value;
}
}

/**//// <summary>Attribute:Category_Description </summary>
/// <summary>Type:System.String</summary>
public string Category_Description

{
get

{
return this.m_Category_Description;
}
set

{
this.m_Category_Description = value;
}
}

/**//// <summary>Attribute:Category_Sort </summary>
/// <summary>Type:System.Int32</summary>
public int Category_Sort

{
get

{
return this.m_Category_Sort;
}
set

{
this.m_Category_Sort = value;
}
}

/**//// <summary>Attribute:Category_DateTime </summary>
/// <summary>Type:System.DateTime</summary>
public System.DateTime Category_DateTime

{
get

{
return this.m_Category_DateTime;
}
set

{
this.m_Category_DateTime = value;
}
}

/**//// <summary>Attribute:Category_Power </summary>
/// <summary>Type:System.Int32</summary>
public int Category_Power

{
get

{
return this.m_Category_Power;
}
set

{
this.m_Category_Power = value;
}
}
}
}

BLL:
namespace OFrame.BLL
{
public class OF_CategoryBLL
{
public static void Insert(OF_CategoryModel model)
{
OF_CategoryDAL.Insert(model);
}
public static DataTable SelectAll(int pageindex, int pagesize,bool doCount)
{
DataTable dt = OF_CategoryDAL.SelectAll(pageindex, pagesize, doCount).Tables[0];
return dt;
}
public static void Delete(OF_CategoryModel model)
{
OF_CategoryDAL.Delete(model);
}
public static void Update(OF_CategoryModel model)
{
OF_CategoryDAL.Update(model);
}
public static DataTable Search(OF_CategoryModel model,int pageindex, int pagesize,out int count)
{
DataTable dt = OF_Category_SqlCmd.Search(model,pageindex, pagesize,out count).Tables[0];
return dt;
}
}
}
UI:

Insert#region Insert
protected void Button1_Click(object sender, EventArgs e)

{
model=new OF_CategoryModel();
model.Category_DateTime=DateTime.Now;
model.Category_Description=txt_CategoryDes.Text;
model.Category_Name=txt_CategoryName.Text;
model.Category_Sort=3;
try

{
OF_CategoryBLL.Insert(model);
Response.Write("Insert success!");
ReturnUrl();

}
catch (Exception ex)

{
Response.Write(ex.ToString());
}
}
#endregion
UI页预览:
使用的是Webdiyer的分页控件。基本的crud和查询分页功能都有,其他的就是随意扩展。
posted @ 2006-11-14 08:48
overred 阅读(2394)
评论(16) 编辑 收藏