/// <summary> /// Gets an object that represents the collection navigation property from this /// entity to a collection of related entities. /// </summary> /// <typeparam name="TElement"> The type of elements in the collection. </typeparam> /// <param name="navigationProperty"> The name of the navigation property. </param> /// <returns> An object representing the navigation property. </returns> public DbCollectionEntry <TEntity, TElement> Collection <TElement>( string navigationProperty) where TElement : class { Check.NotEmpty(navigationProperty, nameof(navigationProperty)); return(DbCollectionEntry <TEntity, TElement> .Create(this._internalEntityEntry.Collection(navigationProperty, typeof(TElement)))); }
/// <summary> /// Returns the equivalent generic <see cref="T:System.Data.Entity.Infrastructure.DbCollectionEntry`2" /> object. /// </summary> /// <typeparam name="TEntity"> The type of entity on which the member is declared. </typeparam> /// <typeparam name="TElement"> The type of the collection element. </typeparam> /// <returns> The equivalent generic object. </returns> public DbCollectionEntry <TEntity, TElement> Cast <TEntity, TElement>() where TEntity : class { MemberEntryMetadata entryMetadata = this._internalCollectionEntry.EntryMetadata; if (!typeof(TEntity).IsAssignableFrom(entryMetadata.DeclaringType) || !typeof(TElement).IsAssignableFrom(entryMetadata.ElementType)) { throw Error.DbMember_BadTypeForCast((object)typeof(DbCollectionEntry).Name, (object)typeof(TEntity).Name, (object)typeof(TElement).Name, (object)entryMetadata.DeclaringType.Name, (object)entryMetadata.ElementType.Name); } return(DbCollectionEntry <TEntity, TElement> .Create(this._internalCollectionEntry)); }
/// <summary> /// Returns the equivalent generic <see cref="DbCollectionEntry{TEntity,TElement}" /> object. /// </summary> /// <typeparam name="TEntity"> The type of entity on which the member is declared. </typeparam> /// <typeparam name="TElement"> The type of the collection element. </typeparam> /// <returns> The equivalent generic object. </returns> public new DbCollectionEntry <TEntity, TElement> Cast <TEntity, TElement>() where TEntity : class { var metadata = _internalCollectionEntry.EntryMetadata; if (!typeof(TEntity).IsAssignableFrom(metadata.DeclaringType) || !typeof(TElement).IsAssignableFrom(metadata.ElementType)) { throw Error.DbMember_BadTypeForCast( typeof(DbCollectionEntry).Name, typeof(TEntity).Name, typeof(TElement).Name, metadata.DeclaringType.Name, metadata.ElementType.Name); } return(DbCollectionEntry <TEntity, TElement> .Create(_internalCollectionEntry)); }
/// <summary> /// Gets an object that represents the collection navigation property from this /// entity to a collection of related entities. /// </summary> /// <param name="navigationProperty"> The name of the navigation property. </param> /// <returns> An object representing the navigation property. </returns> public DbCollectionEntry Collection(string navigationProperty) { Check.NotEmpty(navigationProperty, "navigationProperty"); return(DbCollectionEntry.Create(_internalEntityEntry.Collection(navigationProperty))); }
/// <summary> /// Gets an object that represents the collection navigation property from this /// entity to a collection of related entities. /// </summary> /// <param name="navigationProperty"> The name of the navigation property. </param> /// <returns> An object representing the navigation property. </returns> public DbCollectionEntry Collection(string navigationProperty) { Check.NotEmpty(navigationProperty, nameof(navigationProperty)); return(DbCollectionEntry.Create(this._internalEntityEntry.Collection(navigationProperty, (Type)null))); }