src/Shared/EntityFramework/Core/Metadata/Edm/ObjectItemCollection.cs
// <summary>
// Implicit loading means that we are trying to help the user find the right
// assembly, but they didn't explicitly ask for it. Our Implicit rules require that
// we filter out assemblies with the Ecma or MicrosoftPublic PublicKeyToken on them
// Load metadata from the type's assembly.
// </summary>
// <param name="type"> The type's assembly is loaded into the OSpace ItemCollection </param>
// <returns> true if the type and all its generic arguments are filtered out (did not attempt to load assembly) </returns>
Implicit loading means that we are trying to help the user find the right
assembly, but they didn't explicitly ask for it. Our Implicit rules require that
we filter out assemblies with the Ecma or MicrosoftPublic PublicKeyToken on them
Load metadata from the type's assembly.
Implicit loading means that we are trying to help the user find the right assembly but they didn ' t explicitly ask for it . Our Implicit rules require that we filter out assemblies with the Ecma or MicrosoftPublic PublicKeyToken on them Load metadata from the type ' s assembly .
internal bool ImplicitLoadAssemblyForType(Type type, EdmItemCollection edmItemCollection)
        {
            var result = false;
            if (!MetadataAssemblyHelper.ShouldFilterAssembly(type.Assembly()))
            {
                result = LoadAssemblyFromCache(type.Assembly(), false , edmItemCollection, null);
            }
            if (type.IsGenericType())
            {
                foreach (var t in type.GetGenericArguments())
                {
                    result |= ImplicitLoadAssemblyForType(t, edmItemCollection);
                }
            }
            return result;
        }
internal bool ImplicitLoadAssemblyForType ( Type type , EdmItemCollection edmItemCollection ) { var result = false ; if ( ! MetadataAssemblyHelper . ShouldFilterAssembly ( type . Assembly ( ) ) ) { result = LoadAssemblyFromCache ( type . Assembly ( ) , false , edmItemCollection , null ) ; } if ( type . IsGenericType ( ) ) { foreach ( var t in type . GetGenericArguments ( ) ) { result |= ImplicitLoadAssemblyForType ( t , edmItemCollection ) ; } } return result ; }
Implicit loading means that we are trying to help the user find the right
assembly, but they didn't explicitly ask for it.
Implicit loading means that we are trying to help the user find the right assembly but they didn ' t explicitly ask for it .
// InternalLoadFromAssembly will check _knownAssemblies /*loadAllReferencedAssemblies*/ // recursively load all generic types // interesting code paths are ObjectQuery<Nullable<Int32>>, ObjectQuery<IEnumerable<Product>>
true if the type and all its generic arguments are filtered out (did not attempt to load assembly)
true if the type and all its generic arguments are filtered out ( did not attempt to load assembly )
type
Type
The type's assembly is loaded into the OSpace ItemCollection
The type ' s assembly is loaded into the OSpace ItemCollection
edmItemCollection
EdmItemCollection