HTML5技术

Portal.MVC —— nopcommerce的简化版 - stoneniqiu(2)

字号+ 作者:H5之家 来源:H5之家 2015-12-04 12:16 我要评论( )

public interface IDbContext{IDbSet TEntity SetTEntity() where TEntity : BaseEntity; int SaveChanges(); 执行存储过程,并返回对象列表 IListTEntity ExecuteStoredProcedureListTEntity( string commandText,

public interface IDbContext { IDbSet<TEntity> Set<TEntity>() where TEntity : BaseEntity; int SaveChanges(); 执行存储过程,并返回对象列表 IList<TEntity> ExecuteStoredProcedureList<TEntity>(string commandText, params object[] parameters) where TEntity : BaseEntity, new(); 查询Sql语句 IEnumerable<TElement> SqlQuery<TElement>(string sql, params object[] parameters); 执行sql 是否启用事务 ExecuteSqlCommand(string sql, bool doNotEnsureTransaction = false, int? timeout = null, params object[] parameters); }

View Code

然后注入:

kernel.Bind<IDbContext>().To<PortalDb>().InSingletonScope();

对于和模型相关的Service内部都是注入的IRepository<T>,比如UserService。

private readonly IRepository<User> _useRepository; private readonly IRepository<UserRole> _userRoleRepository; private readonly ICacheManager _cacheManager ; public UserService(IRepository<User> useRepository,IRepository<UserRole> userRoleRepository,ICacheManager cacheManager) { _useRepository = useRepository; _userRoleRepository = userRoleRepository; _cacheManager = cacheManager; }

这样相互之间就比较干净。只依赖接口。

而数据模型都会继承BaseEntity这个对象。

public class User : BaseEntity { //... }

数据映射相关的部分在Mapping中,比如UserMap

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 简化版的易企秀---可视化搭建滑屏应用 - gaogaolater

    简化版的易企秀---可视化搭建滑屏应用 - gaogaolater

    2015-11-24 18:32

  • HTML代码简化应遵循的原则_HTML教程

    HTML代码简化应遵循的原则_HTML教程

    2015-09-19 18:50

网友点评
e