nhibernate-mapping相关内容

使用 Fluent NHibernate 生成表索引

是否可以使用 Fluent NHibernate 生成表索引以及数据库模式的其余部分?我希望能够通过自动构建过程生成完整的数据库 DDL. 解决方案 在 Fluent NHibernate 的最新版本中,您可以调用 Index() 方法来执行此操作,而不是使用 SetAttribute(不再存在): Map(x => x.Prop1).Index("idx__Prop1"); ..
发布时间:2022-01-02 15:59:49 其他开发

FluentNHibernate - 将一个类映射到多个表

抱歉问了一个冗长的问题.但值得提供所有细节,所以请耐心等待. 我正在处理一个我没有太多控制权的旧数据库.我希望能够将一个类映射到多个数据库表.这是我的表格的外观 查找 +--------+--------------+------------+|专栏 |数据类型 |属性 |+--------+--------------+------------+|身份证 |国际 |PK ||代码 ..

在 NHibernate 的中间表上使用附加数据

我正在从事一个项目,该项目用于将有关产品的信息输入到文档中.一个部分有一个表格,可以根据特定产品的需要多次填写.然后可以在多个相关文档中共享此表单上的信息.典型的多对多情况.不同之处在于,在中间表上,我想存储该特定文档的表单条目的特定信息. 这里有一些表格定义来说明这一点: 文档(id int 身份(1,1),名称 nvarchar(256))形式(id int 身份(1,1),FormD ..
发布时间:2022-01-02 15:56:12 其他开发

在 nhibernate 中刷新实体的最佳方法是什么

我想刷新一个实体及其所有子集合.做这个的最好方式是什么?我说的是 nhibernate:) 我读过 session.Evict、session.Refresh... 但我仍然不确定是否这样做: RefreshEntity(T 实体){session.Evict(实体);session.Refresh(实体);} 完全按照我想要的方式工作 它会起作用吗?如果没有,我还能做什么? ..
发布时间:2022-01-02 15:53:31 其他开发

NHibernate 中未映射的列?

我正在使用 Oracle 中的旧数据库,并且我的某些表的列设置为 NOT-NULL,我不希望在我的域模型中使用这些列,但是,显然,我需要至少在某处指定一些默认值被保存到数据库中(例如 Groups 表可能有一个“缩进"列,但它总是需要一个 char(8) 值). 我将如何在 NHibernate 中处理这个问题?是否有捷径可寻?如果没有,有没有人知道我可以这样做的方法(我已经考虑过使用拦截器 ..
发布时间:2022-01-02 15:52:46 其他开发

建模一对零或一关系(Z 基数)

我正在努力寻找建模 1 : 0,1 关系的最佳方法(“可能有一个"或“最多有一个").我相信这称为 Z 基数. 例如,假设我有两个类 Widget 和 WidgetTest.并非所有 Widget 都经过测试,而且该测试具有破坏性,因此每个 Widget 最多可以有一个 WidgetTest.还假设将 WidgetTest 字段添加到 Widget 中是不合适的. 我希望我的公共界面是 ..
发布时间:2022-01-02 15:49:48 其他开发

nhibernate 映射:一个带有级联 =“all-delete-orphan"的集合不再被引用

我的流畅映射有一些问题.我有一个带有子实体集合的实体,例如 Event 和 EventItems. 如果我将集合的级联映射设置为 AllDeleteOrphan,则在将新实体保存到数据库时会出现以下错误:NHibernate.HibernateException : 一个带有cascade="all-delete-orphan" 的集合不再被拥有的实体实例引用:Core.Event.Even ..
发布时间:2022-01-02 15:47:10 其他开发

在 NHibernate 中查询未映射的列

我有一个使用 NHibernate 映射到表的类.问题是只有部分属性映射到表中的列.这很好,因为我们用于显示的唯一列是映射的,但是我想知道是否有任何方法可以查询表中未映射到我的类中的属性的其他列. 例如,我们有一个包含以下列的表格: 客户-----------客户ID名称创建日期 我们有一个对象 公共类客户{公共虚拟 int CustomerId {get;set;}公共虚拟字符串名称 ..
发布时间:2022-01-02 15:46:23 C#/.NET

nHibernate 2.0 - 映射复合 ID * 和 * 多对一关系导致“无效索引"错误

我有问题.想象一下这个数据模型: [Person] 表有:PersonId, Name1[Tag] 表有:TagId、TagDescription[PersonTag] 有:PersonId、TagId、IsActive 由于 [PersonTag] 不仅仅是一个简单的多对多连接表,我在 nHibernate 中创建了所有三个实体(就像它们在数据模型中一样).因此,PersonTag 需要一个 ..
发布时间:2022-01-02 15:45:26 其他开发

每个子类继承策略使用 NHibernate 表时的 Casting 代理问题

我有一个抽象基类和继承的 poco 实体.我正在使用带有流畅 nhibernate 1.1 自动映射的每个子类继承的表. 类继承如下 节点(抽象类)地点:节点资产:节点 节点类基本上是一个树结构. 公共抽象类 Node{公共虚拟 int Id{得到;放;}公共虚拟节点ParentNode{得到;放;}公共虚拟 ICollection子节点{得到;放;}} 现在的 ..

Fluent NHibernate:如何创建一对多的双向映射?

基本问题:如何在 Fluent NHibernate 中创建双向一对多映射? 详情: 我有一个有很多孩子的父对象.在我的情况下,孩子没有父母是没有意义的,所以在数据库中,我希望父母的外键具有 NOT NULL 约束.我正在从 Fluent NHibernate 映射自动生成我的数据库. 我有一个像这样有很多子对象的父对象: 公开课总结{公共 int id {get;保护集;}公 ..
发布时间:2022-01-02 15:41:24 其他开发

IPreUpdateEventListener 和 dynamic-update="true"

我一直在尝试按照 Ayende 的博客,这似乎是每个人在谈到 IPreUpdateEventListener 和 IPreInsertEventListener 时都会参考的资源. 然而,无论我多么努力,我都无法让它发挥作用.事件正确触发,当我通过它时一切看起来都很好,但是我的“changedtime"没有更新到数据库. 我在谷歌上搜索了大约一天,终于找到了答案这里. 当您将实体 ..
发布时间:2022-01-02 15:36:02 其他开发

nhibernate 多对多映射 - 映射表中的附加列?

我有以下映射定义: 和 此映射生成映射表 UserRoles,其中有两列 - RoleId 和 UserId. 但是,我想为该关系添加额外的属性 - 即一些定义关系状态的枚举值以及有效的开始和;结束日期. 是否可以在 nhibernate 中进行,或者我是否需要在此处添加其他类并将关系 m-to-m 更改为 2 个关系 [user] 1-to-m [user_role] ..
发布时间:2022-01-02 15:35:18 其他开发

在 NHibernate 中定义多对多关系以允许删除但避免重复记录的正确方法是什么

我已经与 NHibernate 设置斗争了几天,只是想不出正确的方法来设置我的映射,所以它像我期望的那样工作. 在我解决问题之前有一些代码需要阅读,因此请提前为额外阅读道歉. 目前设置非常简单,只有这些表格: 类别 类别 ID 姓名 项目 商品编号 姓名 项目类别 商品编号 类别 ID 一个项目可以属于多个类别,每个类别可以有多个项目(简单的多对多关 ..
发布时间:2022-01-02 15:34:31 其他开发

结果集中的 NHibernate Fetch/FetchMany 重复,如何使用 ToFuture() 修复

我对使用 NHibernate 比较陌生,并且遇到了一个我似乎无法解决的缺点.我有一个对象树,我希望在一次往返中从数据库中检索它,但最终得到的是笛卡尔积. 我尝试检索的对象称为 'AccountGroup'、'Concern'、'Advertiser' 和 'Product' 并且我只希望获得活动用户有权访问的那些对象. 我的初始查询如下所示: using (var session ..
发布时间:2022-01-02 15:33:36 其他开发