我正在使用NBuilder创建测试数据,我的类有大量属性,因此手动创建是不可能的。在使用NBuilder之前,我将一些SQL选择复制粘贴到csv文件中,并在测试中使用自动映射重新创建它们。现在我想使用NBuilder或其他东西,我面临实体/DB限制的问题。
我有没有办法告诉其中一些构建者在生成数据时考虑我的映射文件。例如,如果存在映射
this.Property(t => t.SomeId)
.IsFixedLength()
.HasMaxLength(3);
我希望该框架能够根据这些要求生成该属性的测试数据。
我想知道您是否可以使用Linq到EDMX来访问实体的映射信息。有了这些信息,你可以使用NBuilder的CreateNew
方法来做这样的事情:
// Linq-to-EDMX was used to get the propertyLength value
x => x.SomeId = randomString.Substring(0, propertyLength)