nhibernate相关内容
我的 SQL Server 2008 数据库中有一个带有时间列的表. 我尝试映射到的对象的属性是 TimeSpan. 我如何告诉 FluentNHibernate 使用 TimeAsTimeSpan NHibernate 类型,这样我就不会出现转换问题? 解决方案 如果你正在使用约定,那么这对我有用: public class PropertyConvention : IPr
..
确实如上. 解决方案 ISessionFactory.OpenSession() 可以提供一个 IDbConnection. 另一种选择是实现一个 IConnectionProvider ,它会根据某些条件创建适当的 IDbConnection 实例(它必须是全局的,因此使这个解决方案不是很干净).
..
为了在 nHibernate 中分页查询,我需要执行以下操作: 从(从对象中选择 e.ID,e.Name 作为 e where...) 我尝试了以下方法, select count(*) from Object e where e = (Select distinct e.ID,e.Name from ...) 并且我收到一个 nHibernate 异常,说我无法将 Object 转换为
..
我需要先选择(假设)数据库中的 10000 行并返回它们.一次可能会有更多的客户端执行此操作.我想出了这个查询: update v set v.batch_Id = :batchId来自 tblRedir v内部联接 (选择前 10000 个 ID来自 tblRedir其中 batch_Id 为空按日期升序排序) v2 上 v.id=v2.id 这是一个由更新和嵌套选择组成的操作.两个查询都在
..
我在 hibernate.cfg.xml 中有这个配置: 我刚刚创建了一个类库,并使用 MbUnit 创建了一个集成测试.它失败.报告的一部分(我认为就足够了)放在这里: ** 未运行任何测试(未找到测试)**测试用例'M:IntegrationTests.RepositoryTests.ListAllPostsReturnsAListOfPost'失败:未配置 ProxyFactoryF
..
我在看 ayende 博客 http://ayende.com/blog/3946/nhibernate-mapping-concurrency 关于 NHibernate 并发,我还是不太清楚什么时候用.这似乎是解决 StaleObjectException 的解决方案. 谁能向我解释一下您将在什么情况下使用 a 以及为什么? 谢谢. 解决方案 NHibernate Vers
..
我在 NHibernate 中遇到了 ISession 的问题.我不断收到“会话已关闭!"错误.有人可以告诉我正确的模式,包括以下方法的定义以及何时使用每种方法: ISession.Close()ISession.Dispose()ISession.Disconnect() 这是我的问题.我有一个回调设置来触发一个过程,每隔几分钟就向玩家颁发徽章.但是我不断收到“会话已关闭!"关于无法关联集合
..
()).Returns((mockQueryOver.Object));_mockCommandRunner = new Mock();_generator = new CertificateGeneratorForOpenSSLCommandLine(_mockSession.Object, _mockCommandRunner.Object, _mockDirectory.Object, _m
..
nhibernate 代理是否能做任何聪明的工作来提高变更跟踪的效率?还是它只支持实体框架称为基于快照的更改跟踪? 解决方案 它是基于快照的. 加载实体时,其状态作为对象[]存储在会话中. flush 时,将当前状态转换为 object[] 并与原始状态进行比较,以确定哪些属性是脏的. 出于多种原因,这更有效.其中之一是您不需要需要代理来跟踪更改.另一个是,如果您将一个属
..
我看过类似的问题,但找不到简单的解释.我可能会错过它,但我保证我看过.实际上,我什至找不到其他文档,只有一篇博文迅速掩盖了所有内容,并假设您熟悉其他形式的 NH. 鉴于 Program 和 Topic 之间的多对多,其中后者位于 Topics 的层次结构中,我想检索给定Topic 的所有Programs,可能包括它的子主题.由于一个程序可能会列在给定父主题的多个子主题下,我需要使用子查询或处
..
我有一个映射到多对多集合的父/子关系. 公共类父级{公共 ISet孩子{得到;放;}}公开课子{}公共类 ParentMap : ClassMap{HasManyToMany(x => x.Children).资产();} 如何编写查询以选择包含给定子项的所有父项?我会猜到它会是这样的,但是这个 API 不存在: Session.CreateCriteria().Add(Expression
..
我有一个实体及其映射: 公共类测试{公共虚拟 int Id { 获取;放;}公共虚拟字符串名称 { 获取;放;}公共虚拟字符串 描述 { get;放;}}公共类 TestMap : EntityMap{公共测试图(){Id(x => x.Id);地图(x => x.Name);地图(x => x.描述);}} 我正在尝试对其运行查询(从数据库中获取它): var keyword
..
采用以下枚举标志 [标志]枚举权限{可以评论 = 1,可以编辑 = 2,可以删除 = 4,CanRemoveUsers = 8,全部 = CanComment |可以编辑 |可以删除 |可以删除用户} 在 NHibernate 中,我在使用之前已经映射到一个枚举: 我的问题是,如何使用 NHibrate 将按位字段映射到标志字段? 解决方案 当我映射一个枚举
..
我想知道如何使用 NHibernate 2.1 删除只有其 ID 和类型(如映射)的实体? 解决方案 如果您使用延迟加载,Load 只会创建一个代理. session.Delete(session.Load(type, id)); 在 NH 2.1 中,您可以使用 HQL.不确定它的实际外观,但类似这样:请注意,这会受到 SQL 注入的影响 - 如果可能,请使用参数化查询代替 SetP
..
我已经阅读了很多关于相同错误的问题,但没有一个与我的确切问题相匹配.我正在尝试使用 Fluent NHibernate 访问对象的属性,该对象本身是根对象的一部分.一些答案说我需要使用投影,另一些答案说我需要使用 join,我认为它应该通过延迟加载来工作. 这是我的两个类以及 Fluent 映射: 艺术家班 公共类艺术家{公共虚拟 int Id { 获取;放;}公共虚拟字符串名称 {
..
我已经成功使用 NHibernate 有一段时间了,并且已经能够通过我的应用程序解决很多陷阱用它开发并在生产中运行.最近的障碍不过,真的让我摸不着头脑. 最近我不得不用一些新的类来扩展类库嵌套为一些现有类的子类.我刚复制与我已经成功的聚合映射相同的模型使用,但这次它不起作用. 现在,当我在父映射文件中使用以下内容时:
..
我使用 GUID 作为我所有其他表的主键,但我有一个需要递增数字的要求.我试图用自动增量在表中创建一个字段,但 MySql 抱怨它需要成为主键. 我的应用程序使用 MySql 5,nhibernate 作为 ORM. 我想到的可能解决方案是: 将主键更改为自动递增字段,但仍将 Id 作为 GUID,因此我的应用程序的其余部分是一致的. 创建一个包含 GUID 和自增字段的复
..
嗨,我正在尝试返回建筑域的集合. 私有长_id;私人字符串_buildingName;私人 IList_房间; 我正在使用 NHibernate 和房间映射 我是这样调用数据库的; Buildings = (List)session.CreateCriteria(typeof(Building)).Ad
..
我想在新项目中使用 DDD 并首先为我的课程建模,然后根据类库生成数据库模式.我的计划是使用 NHibernate hbm2ddl 工具 SchemaExport 来做到这一点. 问题是我无法让 SchemaExport 工作,因为它让我陷入了一个奇怪的 catch-22 问题.SchemaExport 需要一个 配置对象,它本身需要一个有效的NHibernate配置文件以及一组数据库映射.
..
我是 DDD 和 NHibernate 的新手. 在我当前的项目中,我有一个实体 Person,其中包含一个值对象,比如说 Address.今天,这很好.但也许有一天我会要求我的值对象(在本例中为地址)必须成为一个实体. 在尝试以 DDD 方式对此建模之前,以更以数据为中心的方法,我有一个表 Person,带有一个 Id,另一个表 Address,其 PK 实际上是一个 FK,它是一个
..