ITOO底层简单了解

一、预览B、DbSession、D关系

ITOO底层简单了解_第1张图片

二、预览ITOO底层

ITOO底层简单了解_第2张图片

三、B层

父类BaseService


        /// <summary>
        /// 构造函数初始化
        /// </summary>
        public CoreBaseService()
        {
            SetDbSession();
            SetCurrentDal();
        }

        //子类必须实现此方法来确定具体的DbSession对象
        public abstract void SetDbSession();

        //子类必须实现此方法,设置当前具体的Dal
        public abstract void SetCurrentDal();

子类BaseService

实现SetDbSession

public override void SetDbSession()
        {
            //保证线程唯一
            //在GetData方法中传入name为“DbSession”,在CallContext容器中查找是否有“DbSession”对象
            ICoreDbSession dbSession = CallContext.GetData("DbSession") as ICoreDbSession;
            if (dbSession == null)
            {
                //从配置文件中读取name为“DbSession”的内容
                dbSession = SpringHelper.GetObject<ICoreDbSession>("DbSession");
                CallContext.SetData("DbSession", dbSession);  
            }
            this.MyBasedbSession = dbSession;
            this.DbSession = (IDbSession)this.MyBasedbSession;
        }

你可能感兴趣的:(ITOO底层简单了解)