/// <summary> /// Returns the equivalent generic <see cref="T:System.Data.Entity.Infrastructure.DbMemberEntry`2" /> object. /// </summary> /// <typeparam name="TEntity"> The type of entity on which the member is declared. </typeparam> /// <typeparam name="TProperty"> The type of the property. </typeparam> /// <returns> The equivalent generic object. </returns> public DbMemberEntry <TEntity, TProperty> Cast <TEntity, TProperty>() where TEntity : class { MemberEntryMetadata entryMetadata = this.InternalMemberEntry.EntryMetadata; if (!typeof(TEntity).IsAssignableFrom(entryMetadata.DeclaringType) || !typeof(TProperty).IsAssignableFrom(entryMetadata.MemberType)) { throw Error.DbMember_BadTypeForCast((object)typeof(DbMemberEntry).Name, (object)typeof(TEntity).Name, (object)typeof(TProperty).Name, (object)entryMetadata.DeclaringType.Name, (object)entryMetadata.MemberType.Name); } return(DbMemberEntry <TEntity, TProperty> .Create(this.InternalMemberEntry)); }
/// <summary> /// Returns the equivalent generic <see cref="DbMemberEntry{TEntity,TProperty}" /> object. /// </summary> /// <typeparam name="TEntity"> The type of entity on which the member is declared. </typeparam> /// <typeparam name="TProperty"> The type of the property. </typeparam> /// <returns> The equivalent generic object. </returns> public DbMemberEntry <TEntity, TProperty> Cast <TEntity, TProperty>() where TEntity : class { var metadata = InternalMemberEntry.EntryMetadata; if (!typeof(TEntity).IsAssignableFrom(metadata.DeclaringType) || !typeof(TProperty).IsAssignableFrom(metadata.MemberType)) { throw Error.DbMember_BadTypeForCast( typeof(DbMemberEntry).Name, typeof(TEntity).Name, typeof(TProperty).Name, metadata.DeclaringType.Name, metadata.MemberType.Name); } return(DbMemberEntry <TEntity, TProperty> .Create(InternalMemberEntry)); }
private static DbMemberEntry ImplicitConvert(DbMemberEntry nonGeneric) { return(nonGeneric); }
private void NonGenericTestMethodCollectionAsMember(DbMemberEntry nonGenericEntry, string name) { Assert.Same(name, nonGenericEntry.Name); Assert.IsType <DbCollectionEntry>(nonGenericEntry); }
private void NonGenericTestMethodRefAsMember(DbMemberEntry nonGenericEntry, string name) { Assert.Same(name, nonGenericEntry.Name); Assert.IsType <DbReferenceEntry>(nonGenericEntry); }
/// <summary> /// Gets an object that represents a member of the entity. The runtime type of the returned object will /// vary depending on what kind of member is asked for. The currently supported member types and their return /// types are: /// Reference navigation property: <see cref="DbReferenceEntry" />. /// Collection navigation property: <see cref="DbCollectionEntry" />. /// Primitive/scalar property: <see cref="DbPropertyEntry" />. /// Complex property: <see cref="DbComplexPropertyEntry" />. /// </summary> /// <param name="propertyName"> The name of the member. </param> /// <returns> An object representing the member. </returns> public DbMemberEntry Member(string propertyName) { Check.NotEmpty(propertyName, "propertyName"); return(DbMemberEntry.Create(_internalEntityEntry.Member(propertyName))); }
/// <summary> /// Gets an object that represents a member of the entity. The runtime type of the returned object will /// vary depending on what kind of member is asked for. The currently supported member types and their return /// types are: /// Reference navigation property: <see cref="T:System.Data.Entity.Infrastructure.DbReferenceEntry" />. /// Collection navigation property: <see cref="T:System.Data.Entity.Infrastructure.DbCollectionEntry" />. /// Primitive/scalar property: <see cref="T:System.Data.Entity.Infrastructure.DbPropertyEntry" />. /// Complex property: <see cref="T:System.Data.Entity.Infrastructure.DbComplexPropertyEntry" />. /// </summary> /// <param name="propertyName"> The name of the member. </param> /// <returns> An object representing the member. </returns> public DbMemberEntry Member(string propertyName) { Check.NotEmpty(propertyName, nameof(propertyName)); return(DbMemberEntry.Create(this._internalEntityEntry.Member(propertyName, (Type)null))); }
private void NonGenericTestMethodPropAsMember(DbMemberEntry nonGenericEntry, string name) { Assert.Same(name, nonGenericEntry.Name); Assert.IsType <DbPropertyEntry>(nonGenericEntry); }