zoukankan      html  css  js  c++  java
  • 框架草稿

    1.
    
    using System;

    13606924440
    15860721564
    18359241319

    using System.Collections;
    using System.Collections.Generic;
    using System.Text;
    using Framework;
    using Contract.Domain;
    using Framework.Domain;
    using System.Xml;
    using BaseService;
    using IBasDaoService;
    
    namespace BaseService
    {
    public interface IBaseService<T> where T : Framework.Domain.Entity, new()
    {
    IBasDaoService.IBasDao<T> CurrentDao { get; set; }
    T FindById(object Id);
    }
    public abstract class BaseService<T>:IBaseService<T> where T : Entity,new()
    {
    
    }
    3.
    using Contract.Domain;
    using Framework.IService;
    using NHibernate;
    using NHibernate.Linq;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace IBasDaoService
    {
    public interface IBasDao<T> where T : Framework.Domain.Entity, new()
    {
    
    T FindById(object Id);
    
    
    }
    public class BasDao<T> : IBasDao<T> where T : Framework.Domain.Entity, new()
    {
    private Spring.Context.IApplicationContext _ctx;
    protected Spring.Context.IApplicationContext ctx
    {
    get
    {
    if (_ctx == null)
    _ctx = Spring.Context.Support.ContextRegistry.GetContext();
    return _ctx;
    }
    }
    private Framework.IService.ICommonService _dao;
    public Framework.IService.ICommonService Dao
    {
    get
    {
    if (_dao == null)
    {
    _dao = (Framework.IService.ICommonService)ctx["CommonService"];
    }
    return _dao;
    }
    set
    {
    _dao = value;
    }
    }
    private static ISession _dbContext;
    protected static ISession DbContext
    {
    get
    {
    
    _dbContext = ((ICommonService)Spring.Context.Support.ContextRegistry.GetContext()["CommonService"]).GetSession();
    return _dbContext;
    }
    }
    public virtual T FindById(object Id)
    {
    
    return DbContext.Query<T>().AsEnumerable().Where(x => x.Id == Id.ToString()).FirstOrDefault();
    }
    }
    
    public class SysDictTypeDao : BasDao<SysDictType>, IBasDao<SysDictType>
    {
    
    public override SysDictType FindById(object Id)
    {
    return (SysDictType)base.FindById(Id);
    }
    }
    
    }
    
    
    4.
    
    <!--泛型dao的注入-->
    <object id="CurrentSysDictTypeDao" type="IBasDaoService.SysDictTypeDao, IBasDaoService">
    </object>
    <object id="SysDictTypeService" type="Bll.SysDictTypeService, HRABLL">
    <property name="Dao" ref="CommonService"/>
    <property name="CurrentDao" ref="CurrentSysDictTypeDao"/>
    </object>
  • 相关阅读:
    has a / is a 的区别
    Linux头文件作用
    转一篇Decorator模式的讲解文章
    歌手推荐kate st. john
    拷贝构造函数和赋值构造函数声明为私有的作用
    重新认识C++中new的用法
    系统程序员成长计划容器与算法(二)(下)
    深入C++的new
    歌手推荐Cara Dillon
    浅析一道C++设计面试题
  • 原文地址:https://www.cnblogs.com/kexb/p/5873682.html
Copyright © 2011-2022 走看看