Nhibernate映射多对一

时间:2016-02-15 10:56:48

标签: c# nhibernate

我有这些对象:

public class Entity
{
    public virtual int Id { get; set; }

    public virtual Lookup Type { get; set; }

    public virtual string Name { get; set; }
}
public class Lookup
{
    public virtual int Id { get; set; }

    public virtual string Table { get; set; }

    public virtual string Column { get; set; }

    public virtual int Value { get; set; }

    public virtual string Name { get; set; }
}

对象Entity.Type是一个整数,表示指向表Lookup.Value的“FK”,其中包含列Table和Column的过滤器,因此例如:

SELECT *
  FROM [Entity] e
  join [Lookup] l on l.Value = e.Type
  where l.[Table] = 'Entity' and l.[Column] = 'Type'

您是否了解如何为其制作地图?我尝试过多对一,但是映射是在Entity.Type和Lookup.Id之间进行的,并且过滤在多对一中是不可能的

我正在使用Nhibernate V3.3.1.4000。

0 个答案:

没有答案