NHibernate Mapping:如何根据字段值映射行

时间:2010-09-15 05:01:00

标签: nhibernate nhibernate-mapping

我有一个[ContactNumbers]表,定义如下:

ID (PK) | PersonID (FK) | NumberType | Number
========|===============|============|=======

和一个定义为:

的类
public class Person
{
    ContactNumber homePhone;
    ContactNumber workPhone;
}

public class ContactNumber
{
    string Number;
}

如何为PersonContactNumber类定义HBM映射,以便Person.homePhone映射到[ContactNumbers]表中与FK对应的行观察到,[ContactNumbers].[NumberType]等于"HOME"[NumberType] "WORK"Person.workPhone。)

我已经花了很多时间来研究这个问题,但我还没有找到解决方案。

1 个答案:

答案 0 :(得分:0)

您无法将单个实体/实例映射到多个行,反之亦然。

你可以做的是:

class Person
{
  public IList<ContactNumber> ContactNumbers { get; set; }
}

然后将ContactNumbers类映射为集合/ ony-to-many关联。 PersonID列被列为foriegn键,所以我假设有一个人员表?