- すべてを POCO オブジェクトにマップします。
- 計算を行う (読み取り専用) get プロパティを記述します。
これが基本的な ORM マッパーです (別名、POCO を作成します)
DataTable が DataReader よりも速い理由
オブジェクトの他のプロパティを使用する readonly (get; only) プロパティを追加します。
計算が「コストがかかり」、何度も読む場合は、この「nullable」トリックを使用できます。
public class Employee
{
public DateTime BirthDate { get; set; }
public DateTime HireDate { get; set; }
TimeSpan? _difference = null;
public TimeSpan Difference
{
get
{
TimeSpan returnValue;
if (this._difference.HasValue)
{
returnValue = this._difference.Value;
}
else
{
/* COSTLY CALCULATION HERE , ONE TIME */
this._difference = this.HireDate.Subtract(this.BirthDate);
/* End COSTLY Calculation */
returnValue = this._difference.Value;
}
return returnValue;
}
}
}