NHibernate映射:对应于另一个表中记录的存在的实体属性

时间:2011-02-28 10:04:17

标签: nhibernate nhibernate-mapping

我很确定使用NHibernate可以做些什么,但我想在这个问题上与社区联系。

如果我有一个实体Foo:

public class Foo
{
  public int Id { get; set; }
  public string Name { get; set; }
  public bool HasRegistered { get; set; }
}

如果HasRegistered表中有相应的记录(即将Foo的Actions作为外键和特定代码'BLAH,我希望属性Id为真'在另一个领域),如果没有,则为假。

因此,例如,如果HasRegistered条记录包含以下字段,则Action将为真:

  • FooId(等于Foo的Id
  • Code(等于'BLAH'的值)

这种映射是否可行?

1 个答案:

答案 0 :(得分:0)

根据我对NHibernate的了解,使用“透明”映射功能(如属性)或使用 bag os sets < / strong>等等.. 最简单的方法是在属性上使用公式,并使该属性“不可变”,以便该属性涉及插入/更新方案。 希望这有帮助。

所以这可能就是一个例子:

<property 
      name="HasRegistered" 
      formula="sql formula to evaluate" 
      insert="false" update="false"/>

作为有关nhibernate映射功能的更多信息的来源(在本例中为属性)如下: NHibernate mapping: property