C#NHibernate Joined-Subclass取得问题

| 我有以下映射的类:
    <class name=\"Company\" table=\"Company\">
        <id name=\"ID\" column=\"CompanyID\">
          <generator class=\"native\"/>
        </id>
        <joined-subclass name=\"CompanyAccounting\" table=\"company_accounting\" lazy=\"true\">
          <key column=\"CompanyID\"/>
        </joined-subclass>
        <joined-subclass name=\"CompanyCarbon\" table=\"company_carbon\" lazy=\"true\">
          <key column=\"CompanyID\" />
        </joined-subclass>
    </class>
现在,以下测试失败:
        var company = CompanyAdapter.Get<Company>(_session, 32);
        Assert.IsNotNull(company);

        var client = CompanyAdapter.Get<CompanyClient>(_session, 32);
        Assert.IsNotNull(client);
但是以下成功:
        var client = CompanyAdapter.Get<CompanyClient>(_session, 32);
        Assert.IsNotNull(client);

        var company = CompanyAdapter.Get<Company>(_session, 32);
        Assert.IsNotNull(company);
第一次测试失败的原因是因为NHibernate将Company提取为CompanyAccounting,因为Company(32)既是会计公司又是客户,并且当我致电Session.Get后,它已将Company提取为CompanyAccounting,所以它不会返回数据库并检查是否存在CompanyClient的条目,并假设Company只能在子类上,是否有必要指定它可以从所有子类继承?
已邀请:
我最终要做的是重构我的班级,而不是 类公司, CompanyClient类:公司, class CompanyAccounting:公司 我使CompanyClient和CompanyAccounting不是从Company继承的,并将Company作为
<one-to-one>
关系添加,这是这些类的主键。

要回复问题请先登录注册