使用One To One Mapping从流动的nhibernate中获取子对象中的父对象

时间:2015-04-04 20:47:01

标签: c# nhibernate fluent-nhibernate

我正面临着我的Fluent NHibernate Mappings的有线问题。我有两个共享相同主键的表。     User和Employee是具有相同主键的两个表。     当我使用Fluent NHibernate查询数据库时,我也可以从用户信息中获取员工详细信息。现在我遇到了一个问题,我想从员工信息中访问用户信息,但我无法。

以下是我的映射详细信息。

  public class EmployeeInformationMapping : ClassMap<EmployeeInformation>
{
   HasOne(x => x.UserInformation).Constrained().Fetch.Select().Cascade.All();
}

public class UserInformationMapping : ClassMap<Domain.UserInformation>
{
   HasOne(x => x.EmployeeInformation).Class(typeof (Domain.EmployeeInformation)).PropertyRef(x => x.UserInformation).Cascade.SaveUpdate();
}

如果我使用上面的代码,我无法从Employee获取用户信息的数据。 如果我将Fetch.Select更改为Fetch.Join,那么我会收到多行错误。 我有什么遗失的东西吗? 请帮帮我。     以下是表格

UserInformation
   UserId Bigint PrimaryKey,
   UserName varchar(100)
Employee Information
   EmployeeId Bigint PrimaryKey,
   EmployeeCode varchar(100)

UserId和EmployeeId都被映射在一起以获得One-One Relation。

谢谢&amp;问候, Seshu Kumar。

0 个答案:

没有答案