我有一個Person
類,其中包含通過訪問Item
屬性延遲加載(自定義延遲加載)個人地址數據的屬性。我希望它被映射到一個POCO類。它怎麼能做到?具有自定義延遲加載對象的自動映射器
另外,是否有可能僅當它有數據時纔會映射(檢查HasData
屬性),如果沒有數據,則映射爲null
? 這些都是源類:
public class SourcePerson
{
public string Name { get; set; }
public MyLazyLoadingObject<SourceAddress> Address;
}
public class SourceAddress
{
public string City { get; set; }
public string Country { get; set; }
}
這是自定義的延遲加載類(簡體):
public class MyLazyLoadingObject<T>
{
private int? _id;
private T _object;
public T Item
{
get
{
if (!_object.IsReaded)
{
_object.Read();
}
return _object;
}
}
public bool HasData
{
get
{
return _id.HasValue;
}
}
// Other non-relevant properties and methods
}
這些目標類:
public class DestinationPerson
{
public string Name { get; set; }
public DestinationAddress Address;
}
public class DestinationAddress
{
public string City { get; set; }
public string Country { get; set; }
}
你看過'ConstructUsing'還是'ConvertUsing'? – pinkfloydx33