基于NHibernate的开发框架的设计】的更多相关文章

上次的 NHibernate的Session管理策略和NHibernateHelper 发布并提供下载,给NHibernate刚入门的同学们带来很多便利. 最近有同学在求NH的通用仓储,正好我最近也设计了一个应用于实战,好吧,无私地分享并快乐着吧. 与上次一样,您无需关心细节,因为我会在最后提供源代码的下载. 如果您对ORM没兴趣,为不浪费您宝贵的时间,请点又上角红叉. Repository设计 从整体上可以看到,这个仓储用到了泛型,并且继承了一个叫BaseRepository. BaseRep…
首个基于NHibernate的应用程序  Your first NHibernate based application 英文原文地址:http://www.nhforge.org/wikis/howtonh/your-first-nhibernate-based-application.aspx 翻译原文地址:http://www.cnblogs.com/13yan/p/5671072.html 本文涉及到的DEMO下载   定义领域模型 让我们开始通过定义一个非常简单的领域模型.目前它是由一…
设计一套基于NHibernate二级缓存的MongoDB组件(上)   摘要:NHibernate Contrib 支持很多第三方的二级缓存,如SysCache,MemCache,Prevalence等等,但是没有MongoDB的,于是自己扩展了一个支持MongoDB的缓存组件(NHibernate.Caches.MongoDBCache.dll).本篇先把组件的源代码开放出来. 一.背景 在NHibernate的Contrib贡献项目官方网站(NHibernateContrib项目是由NHib…
你是否还在为微服务应该拆多小而争论不休?到底如何才能设计出收放自如的微服务?怎样才能保证业务领域模型与代码模型的一致性?或许本文能帮你找到答案. 本文是基于 DDD 的微服务设计和开发实战篇,通过借鉴领域驱动设计思想,指导微服务项目团队进行设计和开发(理论篇详见<当中台遇上 DDD,我们该如何设计微服务?>).本文包括三部分内容:第一部分讲述领域驱动设计基本知识,包括:分层架构.服务视图.数据视图和领域事件发布和订阅等:第二部分讲述微服务设计方法.过程.模板.代码目录.设计原则等内容:最后部分…
摘要:选择部署多个重量传感器和必要的算法.通过WiFi 通信模块.GPS定位模块,采集车辆称重数据一地理位置信息,并通过网络发送至云平台,设计图形化UI界面展示称重.地图位置等重要信息,实现对称重系统的远程监测. 本文分享自华为云社区<基于STM32+华为云IOT设计智能称重系统>,作者:DS小龙哥 伴随着网络技术,各种通讯技术,传感器技术的飞速发展,物联网技术成为了当今技术领域发展为迅速的技术.而物联网技术的核心仍然是以互联网技术为基础的,物联网是新一代信息技术的重要组成部分,也是信息化时代…
在前面介绍的SqlSugar的相关查询处理操作中,我们主要以单表的方式生成相关的实体类,并在查询的时候,对单表的字段进行条件的对比处理,从而返回对应的数据记录.本篇随笔介绍在一些外键或者中间表的处理中,如何遍历查询并获得所需的记录操作. 1.回顾单表的操作查询 我在<基于SqlSugar的开发框架的循序渐进介绍(1)--框架基础类的设计和使用>中介绍过的Customer表信息,就是一个单表的处理. 例如,我们对于一个简单的客户信息表,如下所示. 生成对应的实体对象CustomerInfo外,同…
我喜欢在一个项目开发模式成熟的时候,使用代码生成工具Database2Sharp来配套相关的代码生成,对于我介绍的基于SqlSugar的开发框架,从整体架构确定下来后,我就着手为它们量身定做相关的代码开发,这样可以在后续整合项目功能的时候,利用代码生成工具快速的生成所需要模块的骨架代码,然后在这个基础上逐渐增加自定义的内容即可,方便快捷.本篇随笔介绍基于SqlSugar的开发框架,对框架中涉及到的各个分层或者模块代码进行生成的处理. 1.回顾项目的架构和模块内容 在前面几篇随笔中,大概介绍过了基…
我们在设计数据库表的时候,往往为了方便,主键ID一般采用字符串类型或者GUID类型,这样对于数据库表记录的迁移非常方便,而且有时候可以在处理关联记录的时候,提前对应的ID值.但有时候进行数据记录插入的时候,往往忽略了对ID的赋值处理.为了便于使用或者允许自动赋值,我们可以在数据访问基类中对GUID主键进行自动赋值处理. 1.实体类主键属性的处理 在我们设计基于SqlSugar的框架的时候,实体类定义一个基类Entity<T>,如下代码所示. [Serializable] public abst…
在前面随笔,我们介绍过这个基于SqlSugar的开发框架,我们区分Interface.Modal.Service三个目录来放置不同的内容,其中Modal是SqlSugar的映射实体,Interface是定义访问接口,Service是提供具体的数据操作实现.在Service层中,往往除了本身的一些增删改查等处理操作外,也需要涉及到相关业务的服务接口,这些服务接口我们通过利用.net 的接口注入方式,实现IOC控制反转的处理的. 1.框架Service层的模块 如下面的VS中的项目服务层,包含很多业…
在基于SqlSugar的开发框架中,我们设计了一些系统服务层的基类,在基类中会有很多涉及到相关的数据处理操作的,如果需要跟踪具体是那个用户进行操作的,那么就需要获得当前用户的身份信息,包括在Web API的控制器中也是一样,需要获得对应的用户身份信息,才能进行相关的身份鉴别和处理操作.本篇随笔介绍基于Principal的用户身份信息的存储和读取操作,以及在适用于Winform程序中的内存缓存的处理方式,从而通过在基类接口中注入用户身份信息接口方式,获得当前用户的详细身份信息. 1.用户身份接口的…