我使用偉大的.NET庫AutoPoco來創建測試和種子數據。使用AutoPoco生成依賴於其他值的值
在我的模型中,我有2個日期屬性,StartDate和EndDate。
我希望EndDate在開始日期後3小時。
我創建了一個自定義數據源的autopoco低於最低和最高日
class DefaultRandomDateSource : DatasourceBase<DateTime>
{
private DateTime _MaxDate { get; set; }
private DateTime _MinDate { get; set; }
private Random _random { get; set; }
public DefaultRandomDateSource(DateTime MaxDate, DateTime MinDate)
{
_MaxDate = MaxDate;
_MinDate = MinDate;
}
public override DateTime Next(IGenerationSession session)
{
var tspan = _MaxDate - _MinDate;
var rndSpan = new TimeSpan(0, _random.Next(0, (int) tspan.TotalMinutes), 0);
return _MinDate + rndSpan;
}
}
之間但在AutoPoco的配置返回一個隨機日期時間怎樣才能讓我的結束日期是說,3個小時後自動生成的開始日期?
這裏的autopoco配置
IGenerationSessionFactory factory = AutoPocoContainer.Configure(x =>
{
x.Conventions(c => { c.UseDefaultConventions(); });
x.AddFromAssemblyContainingType<Meeting>();
x.Include<Meeting>()
.Setup((c => c.CreatedBy)).Use<FirstNameSource>()
.Setup(c => c.StartDate).Use<DefaultRandomDateSource>(DateTime.Parse("21/05/2011"), DateTime.Parse("21/05/2012"));
});
你想要所有的結束日期是從生成的開始日期後3小時或只是一些隨機差異? – TheVillageIdiot
感謝您的迴應,理想情況下是最大值和最小值之間的隨機差異。 – MrBliz