我使用伟大的.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