nhibernate-mapping相关内容
是否可以使用 Fluent NHibernate 生成表索引以及数据库模式的其余部分?我希望能够通过自动构建过程生成完整的数据库 DDL. 解决方案 在 Fluent NHibernate 的最新版本中,您可以调用 Index() 方法来执行此操作,而不是使用 SetAttribute(不再存在): Map(x => x.Prop1).Index("idx__Prop1");
..
抱歉问了一个冗长的问题.但值得提供所有细节,所以请耐心等待. 我正在处理一个我没有太多控制权的旧数据库.我希望能够将一个类映射到多个数据库表.这是我的表格的外观 查找 +--------+--------------+------------+|专栏 |数据类型 |属性 |+--------+--------------+------------+|身份证 |国际 |PK ||代码
..
我正在从事一个项目,该项目用于将有关产品的信息输入到文档中.一个部分有一个表格,可以根据特定产品的需要多次填写.然后可以在多个相关文档中共享此表单上的信息.典型的多对多情况.不同之处在于,在中间表上,我想存储该特定文档的表单条目的特定信息. 这里有一些表格定义来说明这一点: 文档(id int 身份(1,1),名称 nvarchar(256))形式(id int 身份(1,1),FormD
..
我想刷新一个实体及其所有子集合.做这个的最好方式是什么?我说的是 nhibernate:) 我读过 session.Evict、session.Refresh... 但我仍然不确定是否这样做: RefreshEntity(T 实体){session.Evict(实体);session.Refresh(实体);} 完全按照我想要的方式工作 它会起作用吗?如果没有,我还能做什么?
..
我正在使用 Oracle 中的旧数据库,并且我的某些表的列设置为 NOT-NULL,我不希望在我的域模型中使用这些列,但是,显然,我需要至少在某处指定一些默认值被保存到数据库中(例如 Groups 表可能有一个“缩进"列,但它总是需要一个 char(8) 值). 我将如何在 NHibernate 中处理这个问题?是否有捷径可寻?如果没有,有没有人知道我可以这样做的方法(我已经考虑过使用拦截器
..
我正在使用不总是使用 FK 的旧数据库.例如,我有一个实体 Person 和一个实体 Country.一个人有一个国家,该国家在 Person 映射中被映射为多对一.
..
我正在努力寻找建模 1 : 0,1 关系的最佳方法(“可能有一个"或“最多有一个").我相信这称为 Z 基数. 例如,假设我有两个类 Widget 和 WidgetTest.并非所有 Widget 都经过测试,而且该测试具有破坏性,因此每个 Widget 最多可以有一个 WidgetTest.还假设将 WidgetTest 字段添加到 Widget 中是不合适的. 我希望我的公共界面是
..
我的流畅映射有一些问题.我有一个带有子实体集合的实体,例如 Event 和 EventItems. 如果我将集合的级联映射设置为 AllDeleteOrphan,则在将新实体保存到数据库时会出现以下错误:NHibernate.HibernateException : 一个带有cascade="all-delete-orphan" 的集合不再被拥有的实体实例引用:Core.Event.Even
..
我有一个使用 NHibernate 映射到表的类.问题是只有部分属性映射到表中的列.这很好,因为我们用于显示的唯一列是映射的,但是我想知道是否有任何方法可以查询表中未映射到我的类中的属性的其他列. 例如,我们有一个包含以下列的表格: 客户-----------客户ID名称创建日期 我们有一个对象 公共类客户{公共虚拟 int CustomerId {get;set;}公共虚拟字符串名称
..
我有一个带有 IDictionary 的类. 如您所见,它使用多对多从他们的表中获取 CodedExampl
..
我有一个这样的映射: HasMany(x => x.Orders).KeyColumn("CustomerID"); 导致 schemaexport 生成这样的约束: alter table [CustomerOrder]添加约束 FK45B3FB85AF01218D外键(客户 ID)参考 [客户] 我尝试在 References() 映射上添加 .NotFound.Ignore() 以禁
..
我有问题.想象一下这个数据模型: [Person] 表有:PersonId, Name1[Tag] 表有:TagId、TagDescription[PersonTag] 有:PersonId、TagId、IsActive 由于 [PersonTag] 不仅仅是一个简单的多对多连接表,我在 nHibernate 中创建了所有三个实体(就像它们在数据模型中一样).因此,PersonTag 需要一个
..
我有一个抽象基类和继承的 poco 实体.我正在使用带有流畅 nhibernate 1.1 自动映射的每个子类继承的表. 类继承如下 节点(抽象类)地点:节点资产:节点 节点类基本上是一个树结构. 公共抽象类 Node{公共虚拟 int Id{得到;放;}公共虚拟节点ParentNode{得到;放;}公共虚拟 ICollection子节点{得到;放;}} 现在的
..
基本问题:如何在 Fluent NHibernate 中创建双向一对多映射? 详情: 我有一个有很多孩子的父对象.在我的情况下,孩子没有父母是没有意义的,所以在数据库中,我希望父母的外键具有 NOT NULL 约束.我正在从 Fluent NHibernate 映射自动生成我的数据库. 我有一个像这样有很多子对象的父对象: 公开课总结{公共 int id {get;保护集;}公
..
使用 NHibernate 将 UInt32 类型映射到 sql-server int 类型的最佳方法是什么. 该值是图片的宽度/高度,因此这里的负值没有意义. 但也许我应该使用 int 因为 NHibenate 不支持未分配的 int. 解决方案 您可以使用 IUserType 映射列.
..
当我没有 TRootEntity,但只有它的 TYPE 时,如何调用以下方法: public void Class(Action>customizeAction) where TRootEntity : class; 最终目标是运行以下代码 var mapper = new ModelMapper();mapper.Class(ca =>{ca.Id(x => x.Id, map =
..
我一直在尝试按照 Ayende 的博客,这似乎是每个人在谈到 IPreUpdateEventListener 和 IPreInsertEventListener 时都会参考的资源. 然而,无论我多么努力,我都无法让它发挥作用.事件正确触发,当我通过它时一切看起来都很好,但是我的“changedtime"没有更新到数据库. 我在谷歌上搜索了大约一天,终于找到了答案这里. 当您将实体
..
我有以下映射定义: 和 此映射生成映射表 UserRoles,其中有两列 - RoleId 和 UserId. 但是,我想为该关系添加额外的属性 - 即一些定义关系状态的枚举值以及有效的开始和;结束日期. 是否可以在 nhibernate 中进行,或者我是否需要在此处添加其他类并将关系 m-to-m 更改为 2 个关系 [user] 1-to-m [user_role]
..
我已经与 NHibernate 设置斗争了几天,只是想不出正确的方法来设置我的映射,所以它像我期望的那样工作. 在我解决问题之前有一些代码需要阅读,因此请提前为额外阅读道歉. 目前设置非常简单,只有这些表格: 类别 类别 ID 姓名 项目 商品编号 姓名 项目类别 商品编号 类别 ID 一个项目可以属于多个类别,每个类别可以有多个项目(简单的多对多关
..
我对使用 NHibernate 比较陌生,并且遇到了一个我似乎无法解决的缺点.我有一个对象树,我希望在一次往返中从数据库中检索它,但最终得到的是笛卡尔积. 我尝试检索的对象称为 'AccountGroup'、'Concern'、'Advertiser' 和 'Product' 并且我只希望获得活动用户有权访问的那些对象. 我的初始查询如下所示: using (var session
..