是否可以在投影中重复使用组件映射?
以下是供应商实体的映射:
<class name="Vendor" table="vendor">
...
<property name="Name" column="Name" />
<component name="Address" class="MyProject.Address, MyAssembly" >
<property name="Street" column="street" />
<property name="City" column="City" />
</component>
</class>
对于报告,我想在数据传输对象中检索这些供应商,但重用Address组件(因为有许多字段和一些有用的格式化行为)。
public class VendorDTO
{
public string Name;
public Address Address;
}
public class Address
{
public string Street;
public string City;
public string SomeUsefulBehavour();
}
如果没有将Address分成自己的表,这可能吗?
谢谢!
答案 0 :(得分:0)
我相信这应该“正常”:
Session.QueryOver<Vendor>()
.SelectList(builder =>
builder.Select(x => x.Name)
.Select(x => x.Address))
.TransformUsing(Transformers.AliasToBean<VendorDTO>())
.List<VendorDTO>();