我有一个名为party的对象,另外三个对象继承自这个对象,使用hibernate az orm我有一个问题就是将聚会转换为这些对象的ine。虽然我正在使用not.lazyload()功能,但我看到partyProxy想要被转换为部门对象,而不是精确的聚会对象。所以我明白了: 无法将“PartyProxybc26f81f729145c49bc14594bb84cb57”类型的对象转换为“Domain.OrganizationStructure.Department”类型 这个问题不会发生在从party对象继承的其他2个对象上。 可能是我的问题
答案 0 :(得分:0)
PartyProxy将是Party的子类。您可能正在尝试将其分配给Department类型的变量。如果您共享代码/映射的片段
,将会很有帮助答案 1 :(得分:0)
这是我正在使用的代码:
公共类AccountabilityMap:ClassMap { 公共责任地图() { 架构( “organizationstructure”); Not.LazyLoad(); Id(p => p.Id);
References(p => p.AccountabilityType)
.Not.Nullable();
References(p => p.Child)
.Column("ChildPartyId")
.Not.LazyLoad()
.Not.Nullable();
References(p => p.Parent)
.Column("ParentPartyId")
.Not.LazyLoad()
.Not.Nullable();
}
}
公共类PartyMap:ClassMap { 公共PartyMap() { 架构( “organizationstructure”);
Id(p => p.Id);
HasMany(p => p.Children) .LazyLoad() .Cascade.AllDeleteOrphan() 。逆() .KeyColumn( “ParentPartyId”);
HasMany(p => p.Parents)
.LazyLoad()
.Inverse()
.Cascade.AllDeleteOrphan()
.KeyColumn("ChildPartyId");
} }
public class DepartmentMap:SubclassMap { 公共部门地图() {
Schema("organizationstructure");
KeyColumn("PartyId");
Map(p => p.DepartmentType)
.Not.Nullable()
.CustomSqlType("tinyint")
.CustomType<DepartmentType>()
.Length(1);
HasManyToMany(p => p.DepartmentGroup)
.Table("DepartmentGroupToDepartment")
.Schema("formation");
}
}
获取部门: _department =家长// =====&gt;家长:IList的 .Where(p =&gt; p.AccountabilityType.Id ==(int)AccountabilityTypeDbId.ParentDepartmentOfPerson) 。选择(p =&gt; p.Parent) 。投() .SingleOrDefault();