好的,这可能是一个双重问题。我有一个类User
,它包含一个Location
类型的属性UserLocation
。起初,我同时映射类User
和类,并将它们都存储在UserLocation
数据库中,但这对我来说没有多大意义,因为 for 的唯一目的UserLocation
是成为User
. 无论如何,现在,我的映射看起来像这样:
public class UserMap : ClassMap<User>
{
public UserMap()
{
Id(x => x.Id).Access.ReadOnlyPropertyThroughLowerCaseField().GeneratedBy.Identity();
Map(x => x.Location.Address);
Map(x => x.Location.City);
Map(x => x.Location.State);
Map(x => x.Location.ZipCode);
}
}
但我收到错误“找不到吸气剂UserLocation.Address
”。我也得到了一堆转换错误,因为 NHibernate 似乎仍在为UserLocation
. 所以我想问题是从映射的自定义类中引用非映射自定义类的最佳方法是什么。
哦,补充一下,我很确定它UserLocation
没有被映射到任何地方。我什至尝试从映射中删除对它的引用,但在User
尝试将计算类转换为真实类时仍然遇到转换错误。我无法理解为什么此时甚至会有一个计算类型..