在 NstarfaiNet 框架的使用示例(一)中已经对使用NStarfaiNet的应用框架的DAO和BLL做了简单的介绍。以下将继续对BLL进行补充说明,并示范生成的Model实体代码内容。
BLL: 自动生成的业务类代码不宜手动修改(如添加一些业务方法等),这样做是为了避免将来重新生成代码覆盖了自己添加的内容。开发者可以按照模块或者功能划分,手工添加一个新的BIZ业务类来处理其他业务逻辑。
/**//* 版权所有:版权所有(C) 2007 NStarfaiNet框架设计者 模块名称:NStarfaiNet.Test.BLL 完成日期:2006-08-20 设计作者:刘斌[liubin] 内容摘要:BaseBLL 的摘要说明。*/using System;using System.Data;using System.Runtime.Remoting.Messaging;using NStarfaiNet.Test.Dao;using NStarfaiNet.Access.Interface;using NStarfaiNet.Test.Model.Interface;namespace NStarfaiNet.Test.BLL...{ /**//// <summary> /// 业务基类 /// </summary> public class BaseBLL ...{ 自动生成代码#region 自动生成代码 protected IBaseDao m_Dao = null; protected string m_AccessID = string.Empty; /**//// <summary> /// 无参构造函数 /// </summary> protected BaseBLL() ...{ } public const string NSTAR_DAO_SESSION = "_NSTAR_DAO_SESSION_"; /**//// <summary> /// 获取当前线程的Dao会话信息 /// </summary> public IBaseDao GetDAO() ...{ object o = CallContext.GetData(NSTAR_DAO_SESSION); if (o == null) ...{ o = new BaseDao(m_AccessID); CallContext.SetData(NSTAR_DAO_SESSION, o); } return (IBaseDao)o; } /**//// <summary> /// <summary> /// 方法名称: BeginTransaction /// 内容摘要: 开启事务 /// </summary> /// <returns>IDbTransaction</returns> public IDbTransaction BeginTransaction() ...{ return this.GetDAO().DataAccess.BeginTransaction(); } /**//// <summary> /// 方法名称: CommitTransaction /// 内容摘要: 提交事务 /// </summary> public void CommitTransaction() ...{ this.GetDAO().DataAccess.CommitTransaction(); } /**//// <summary> /// 方法名称: RollBackTransaction /// 内容摘要: 回滚事务 /// </summary> public void RollBackTransaction() ...{ this.GetDAO().DataAccess.RollbackTransaction(); } #endregion }}
Model:
此处以测试表bsi_test为例
1
/**//*2
版权所有:版权所有(C) 2007 NStarfaiNet框架设计者3
模块名称:NStarfaiNet.Test4
完成日期:2006-08-205
设计作者:刘斌[liubin]6
内容摘要:BsiTestEntity 的摘要说明。7
*/8
using System;9
using NStarfaiNet.Access.Interface;10
using NStarfaiNet.Test.Model.Interface;11
12
namespace NStarfaiNet.Test.Model13
{14
/**//// <summary>15
/// NStarfaiNet 测试实体类16
/// </summary>17
[TableAttribute(TableName="bsi_test")]18
public class BsiTestEntity : BaseEntity,IBsiTestEntity19
{20
自动生成代码#region 自动生成代码21
/**//// <summary>22
/// 初始化。23
/// </summary>24
public BsiTestEntity()25
{26
}27
28
public Key Key(decimal keyValue)29
{30
return new Key(this.GetType(), keyValue);31
}32
33
private decimal m_testId = 0;34
35
/**//// <summary>36
/// 测试ID(主键)。37
/// </summary>38
[FieldAttribute(FieldName="test_id",ParameterType=ParameterType.Int32,Length=50,DefaultValue="",IsPrimaryKey=true)]39
public decimal TestId40
{41
set { m_testId = value; }42
get { return m_testId; }43
}44
45
46
private string m_testName = System.String.Empty;47
48
/**//// <summary>49
/// 测试名称。50
/// </summary>51
[FieldAttribute(FieldName="test_name",ParameterType=ParameterType.Nvarchar,Length=100,DefaultValue="",IsPrimaryKey=false)]52
public string TestName53
{54
set { m_testName = value;}55
get { return m_testName; }56
}57
58
59
public override void CancelEdit()60
{61
62
}63
#endregion64
65
}66
67
}68
69
实体接口类:
1
/**//*2
版权所有:版权所有(C) 2007 NStarfaiNet框架设计者3
模块名称:NStarfaiNet.Test4
完成日期:2006-08-205
设计作者:刘斌[liubin]6
内容摘要:BsiTestEntity 的摘要说明。7
*/8
9
using NStarfaiNet.Access.Interface;10
11
namespace NStarfaiNet.Test.Model.Interface12
{13
/**//// <summary>14
/// NStarfaiNet 测试表实体接口。15
/// </summary>16
public interface IBsiTestEntity : IEntity17
{18
自动生成代码#region 自动生成代码19
/**//// <summary>20
/// 测试ID(主键)21
/// </summary>22
decimal TestId { get; set; }23
24
/**//// <summary>25
/// 测试名称26
/// </summary>27
string TestName { get; set; }28
#endregion29
}30
}31
32