首页 > TAG信息列表 > Nhibernate

ORM 框架简介

对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内

不顾一切最简NHinbernate配置并读写数据库

本文旨在使从未用过NHinbernate的人,使用NHinbernate从0开始到能够读写数据库,所有设置都是最简和默认。 必要条件是应当对C#有所了解,数据库可以不必了解。 1.打开VS建立一个新的类库项目(要选.net framework,其它类型没试过),添加对NHibernate的引用。NHibernate下载地址:https://nhiber

.Net架构必备工具列表

原文 N多年前微软官网曾发了.Net下必备的十种工具,N多年过去了,世异时移,很多东西都已经变化了,那个列表也似乎陈旧了。而且,该文也只是对十种工具独立的介绍,显得有些罗列的感觉,是不是每个工具都是同等重要,工具与工具之间是否有联系?等等,阐述得并不明确。 这里,我想从另一个角崖,重新归纳

NHibernate 二级缓存

1 ORM缓存分类一级缓存、二级缓存2、缓存范围  1)、事务范围高速缓存,对应于一级缓存(单Session)     2)、过程(JVM)范围高速缓存,对应于二级缓存(单SessionFactory)       3)、集群范围高速缓存,对应于二级缓存(多SessionFactory) 一级缓存过期时间和ISession对象的生命周期相同,并且不

C# 数据操作系列 - 12 NHibernate的增删改查

0. 前言上一篇《C# 数据操作系列 - 11 NHibernate 配置和结构介绍》 介绍了Nhibernate里的配置内容。这一篇将带领大家了解一下如何使用NHIbernate。之前提到NHibernate继承了Hibernate的一些传统:使用XML文件进行配置,这一点也是备受争议。不过,有社区爱好者开发了一个名为《Fluent N

C# 数据操作系列 - 11 NHibernate 配置和结构介绍

0. 前言今天是NHibernate的第二篇内容,通过上一篇的内容,我们初步了解了NHibernate的创建和使用。这一篇,我继续探索NHibernate背后的秘密。嗯,就是这样。1. NHibernate结构先给小伙伴们放个图:这是NHibernate的整体结构图。NHibernate通过ADO.NET 建立访问数据库的连接,然后封装了一个Tr

C# 数据操作系列 - 10 NHibernate初试

0. 前言在上一篇基本讲完了EF Core的入门级教程。从这一篇开始,我们试着去探索一下 .net core平台上更多的ORM框架。那么,这一篇开始我们就来试试NHibernate。1. NHibernate 介绍NHibernate是Hibernate的C#版,众所周知Hibernate是Java 里ORM的顶梁柱(至少曾经)。Hibernate可以说开拓了Ja

Nhibernate配置MySQL踩坑记录

hbm.xml 文件属性复制到输出目录设置为不复制,生成操作设置为嵌入的资源,否则报错    主键生成方式<generator class="native"> </generator>   mysql表主键需设置成自动增长 否则包报错  

NHibernate 保存删除时候出现 两个session 问题,导致操作失败

Initializing[GSDBMS.Model.System.Role#8]-Illegally attempted to associate a proxy with two open SessionsInitializing[GSDBMS.Model.System.Role#8]-Illegally attempted to associate a proxy with two open Sessions   使用的NHibernate,再做用户删除的时候,报错。说是有

NHibernate之(3):探索查询之NHibernate查询语言(HQL)

NHibernate之旅(3):探索查询之NHibernate查询语言(HQL) 本节内容 NHibernate中的查询方法 NHibernate查询语言(HQL) 1.from子句 2.select子句 3.where子句 4.order by子句 5.group by子句 实例分析 结语 上一节,我们初步搭建了一个NHibernate程序,完成了映射Customer表并读取数

nhibernate常见错误

unitinfoDAOTest.unitinfoDAOTest.UpdateTest:SetUp : NHibernate.MappingException : Domain.unitinfo.hbm.xml(7,6): XML validation error: 元素 命名空间“urn:nhibernate-mapping-2.2”中的“class”。 的子元素 命名空间“urn:nhibernate-mapping-2.2”中的“property”。

c#-Nhibernate与其他ORM的区别是什么?

除了开源和成熟之外,还有什么区别因素将nhibernate与其他.net ORM框架(如Subsonic,ADO.NET Entity Framework等)分开? 更好的是,为什么我应该选择nhibernate而不是其他.net实体框架?解决方法:最大的原因可能是nHibernate支持持久性无知.您的实体可以是普通的旧CLR对象(无基类).它还支

c#-无法通过NHibernate参与分布式事务

我在单元测试中看到一个问题,在该问题中,Oracle引发异常,并显示消息“无法加入分布式事务”.我们正在使用ODP.net和NHibernate.在嵌套事务中对数据库进行一定数量的提交后,就会出现此问题.令人讨厌的是,这在连续集成服务器(Windows Server 2003 R2 SP1)上失败了,而在我的开发机(XP

C#-NHibernate和DTO

我正在考虑将NHibernate引入一个项目,但对如何实现只读DTO存有疑问.实体很容易,但是如果您有一个字段,那么我们需要将来自多个实体/表的两个字段混在一起,以便在视图上显示数据,这种情况怎么办?当然,加载所有实体然后创建DTO可能会过大.尤其是当gasp(映射到DTO的手写查询)效率更高时

CodeGo.net>使用城堡ActiveRecord与流利的NHibernate?

有没有人让Fluent NHibernate与Castle ActiveRecord合作? 我对自动映射以配置要与ActiveRecordMediator存储库一起使用的实体特别感兴趣.解决方法:此组合尚不可用.尝试在配置了FluentNHibernate的实体上使用ActiveRecordMediator时,您会收到ActiveRecordException抱怨您未调用Active

可以使用带有静态属性的Ninject吗?

我有一个静态的SessionFactory类,用于初始化NHibernate会话工厂.因为此过程很昂贵(〜5秒),所以我希望它是静态的,因此在运行时开始时只执行一次. 该配置可以采用如下数据库参数参数: public static IPersistenceConfigurer DbConfig { get; set; } public static void Initialize(

CodeGo.net>如何在流利的nHibernate中指定列类型?

我有一个CaptionItem类 public class CaptionItem { public virtual int SystemId { get; set; } public virtual int Version { get; set; } protected internal virtual IDictionary<string, string> CaptionValues {get; private se

NHibernate中的对象标识问题是什么?

NHibernate中的对象标识问题是什么意思?解决方法:对象身份问题是没有完美的方法(也就是100%准确)来确保普通CLR对象的对象身份与NHibernate中的对象身份具有1:1映射. 原因是一种情况下的对象标识(CLR)由对象指针定义,另一种情况下的对象标识由数据库ID值定义. 因此,可能无法完全可靠地

nhibernate 2.0有效的数据分页数据列表控件和ObjectDataSource

我将如何使用nHibernate 2 ObjectDataSource在一次调用中完成Scott的操作 http://weblogs.asp.net/scottgu/archive/2006/01/07/434787.aspx 下面是我的数据访问方法 public IList GetListOfUser(int rows, int pageIndex) { IList userList = null;

由于抽象方法,NHibernate创建代理实例失败

我是NHibernate的新手,正在尝试映射具有一定继承性的域模型(有关模型的完整详细信息,请参见this question,因为这是一个不同的错误,所以开始了新的问题) 我的基类有一些抽象方法,每个下面的类都必须实现.即使我已经在域模型中实现了该类,这似乎也导致了NHibernate的问题,但NHiberna

CodeGo.net>如何使用NH生成“从(从tableName中选择不同的x,y,从表名中选择y)中的y选择为t”,生成NH?

关于如何使用Criteria API与Nhibernate生成跟随查询的任何想法? select count(*)as z from (select distinct x, y from tableName) as t 要么 select count(distinct (x , y)) as z FROM tableName 要么 其他一些返回相同结果的查询.解决方法:您可以尝试借助ICriteria API和Pro

C#删除与另一个对象有关的对象的问题

我们有两个装配A和B,其中B从A延伸. B在A中具有类型的属性 如果我们在数据库中有一个记录B,并且我们删除了一个B使用的记录,则记录将被删除. 我们如何在代码中防止这种情况,因为如果我们能够或不能删除A,我们将显示或不显示删除链接.因为B总是需要类型A,并且如果B的记录使用了A,则可

映射一个简单的数组

我正在使用流利的Nhibernate映射一个简单的类 并使用Schema Generation在MySQL DB上创建此类.我不能使用IList<>我的属性(我正在映射跨语言域类)所以我必须使用简单的数组. 我希望NHibernate在两个类之间创建一个连接表,这些是域类: public class ClassOne { publi

nhibernate 3不支持指定的方法

我最近从nhibernate 2迁移到3,我遇到的问题是,在我现在遇到问题之前的大部分查询中. 而且我看到此错误不支持指定的方法尽管它们都在休眠状态下运行良好2.这些查询中的一个是这样的 public JsonResult AllEducationDegree(string search) { var data = Repository<Ed

C#-模拟ISession.Query()以测试使用者

我试图避免使用内存数据库进行测试(尽管如果无法执行以下操作,则可能必须这样做).我正在将NHibernate 3.0与LINQ一起使用.我希望能够模拟session.Query< T>()来返回一些虚拟值,但我不能,因为它是一种扩展方法,几乎​​无法测试. 是否有人对使用LINQ测试会话查询有任何建议(除了使用