Your property can just calculate the value and store it in a private variable (if you want to "cache" the result)
Lazy is specified for your persistent classes and collections, not calculated values.
If you want to do a calculation lazily, then you put the code in the property accessor and it won't be calc'ed until the calling code uses your property.
.. so in your case for Orders you might want the Orders property of a person to be lazy (which makes sense). Then your property would look like:
Code:
public int OrderCount
{
get
{
Orders[] orders = this.Orders; //THIS MAKES THE DB CALL!
return orders.length;
}
}