Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- LINQ
- return databaseMapping.EntityContainerMappings
- .SelectMany(ecm => ecm.EntitySetMappings)
- .SelectMany(esm => esm.EntityTypeMappings)
- .Where(etm => etm.MappingFragments.Any(tmf => tmf.Table == toTable))
- .Select(etm => etm.EntityType);
- VS this
- // PERF: this code written this way since it's part of a hotpath, consider its performance when refactoring. See codeplex #2298.
- var types = new List<EntityType>();
- var entityContainerMappings = databaseMapping.EntityContainerMappings;
- // ReSharper disable ForCanBeConvertedToForeach
- for (var entityContainerMappingsIterator = 0;
- entityContainerMappingsIterator < entityContainerMappings.Count;
- ++entityContainerMappingsIterator)
- {
- var entitySetMappings = entityContainerMappings[entityContainerMappingsIterator].EntitySetMappings.ToList();
- for (var entitySetMappingsIterator = 0;
- entitySetMappingsIterator < entitySetMappings.Count;
- ++entitySetMappingsIterator)
- {
- var entityTypeMappings = entitySetMappings[entitySetMappingsIterator].EntityTypeMappings;
- for (var entityTypeMappingsIterator = 0;
- entityTypeMappingsIterator < entityTypeMappings.Count;
- ++entityTypeMappingsIterator)
- {
- var entityTypeMapping = entityTypeMappings[entityTypeMappingsIterator];
- // ReSharper disable once LoopCanBeConvertedToQuery
- for (var mappingFragmentsIterator = 0;
- mappingFragmentsIterator < entityTypeMapping.MappingFragments.Count;
- ++mappingFragmentsIterator)
- {
- if (entityTypeMapping.MappingFragments[mappingFragmentsIterator].Table == toTable)
- {
- types.Add(entityTypeMapping.EntityType);
- break;
- }
- }
- }
- }
- }
- // ReSharper restore ForCanBeConvertedToForeach
- return types;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement