我目前正处于使用EF6为数据层编写多层应用程序的情况。
由于客户端此应用程序的目标是使用单元测试或集成测试来测试所有需要。
因此,我正在为我的一个实体开发一个EntityTypeConfiguration
来定义所需的关系。
我想在测试中做的是测试是否需要这种关系。
目前,XUnit中的所需测试如下所示:
AvailableSearchConfiguration config = new AvailableSearchConfiguration();
DbModelBuilder builder = new DbModelBuilder();
builder.Configurations.Add(config);
DbModel model = builder.Build(new DbProviderInfo("System.Data.SqlClient", "2008"));
PropertyInfo DatabaseMappingProperty = model.GetType().GetProperty("DatabaseMapping", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);
object databaseMapping = DatabaseMappingProperty.GetValue(model, null);
PropertyInfo modelPropertyInfo = databaseMapping.GetType().GetProperty("Model");
EdmModel edmModel = (EdmModel)modelPropertyInfo.GetValue(databaseMapping, null);
EntityType availableSearchType = from e in edmModel.EntityTypes where e.Name =="AvailableSearch" select e;
NavigationProperty datasets =from np in availableSearchType.NavigationProperties where np.Name =="Datasets" select np;
鉴于上述情况,我如何确定一种关系的多样性,即它确实是必需的。