0

我不确定 fluent n hibernate 是否可以做到这一点,但我不知道怎么做。

我有一张桌子 -案例和一些属性

ownerId、brokerId、shipperId

我想将此映射到我的财产:

int[] OrgsWithAccess

这可能吗?

这样,当我检查组织是否有权访问案例时,我可以检查属性 OrgsWithAccess 而不是 OwnerId == myorg.id 或 brokerId == myorg.id 等。

4

1 回答 1

0

如果我正确理解您的问题,我不建议您尝试按照您提出的方式进行映射。

cases表看起来像是其他表之间的某种形式的连接表。我将假设这些其他表每个都包含在应用程序中表示为实体的数据,并且存在三个表OwnerBrokerShipper

OrgsWithAccess应该使用对应用程序中实体的引用进行映射,即假设类看起来像

public class OrgsWithAccess
{
    public virtual Owner { get; set; }

    public virtual Broker { get; set; }

    public virtual Shipper { get; set; }
}

然后映射看起来像

public class OrgsWithAccessMap : ClassMap<OrgsWithAccess>
{
    public OrgsWithAccessMap()
    {
        References(x => x.Owner);
        References(x => x.Broker);
        References(x => x.Shipper);
    }
}

然后在查询时,您只需查看属性OrgsWithAccess

session.QueryOver<OrgsWithAccess>().Where(x => x.Owner.Id == id);
于 2013-05-09T12:37:57.753 回答