/// <summary> /// Returns the name of the table column for an entity's property. /// </summary> /// <param name="inspector">The model inspector.</param> /// <param name="member">The entity property.</param> /// <param name="declaringType"> </param> /// <returns>The name of the table column.</returns> public string Column(IModelInspector inspector, PropertyPath member, Type declaringType = null) { Requires.That(member, "member").IsNotNull(); Requires.That(member.LocalMember, "member.LocalMember").IsNotNull(); var localName = member.LocalMember.Name.Underscore(); if (declaringType != null) { return(KeyColumnFormat.Formatted(declaringType.Name.Underscore(), localName)); } var type = member.LocalMember.GetPropertyOrFieldType(); if (inspector.IsEntity(type)) // is a foreign key { var id = inspector.FindPersistentId(type); if (id != null) { return(KeyColumnFormat.Formatted(localName, Column(inspector, id))); } } return(localName); }
/// <summary> /// Returns the name of a key column. /// </summary> /// <param name="inspector">The model inspector.</param> /// <param name="member"></param> /// <param name="declaringType"> </param> /// <returns></returns> public string KeyColumn(IModelInspector inspector, PropertyPath member, Type declaringType = null) { Requires.That(member, "member").IsNotNull(); Requires.That(member.LocalMember, "member.LocalMember").IsNotNull(); var type = declaringType ?? member.LocalMember.DeclaringType; var localName = type.Name.Underscore(); var id = inspector.FindPersistentId(type); return(KeyColumnFormat.Formatted(localName, id.LocalMember.Name.Underscore())); }
/// <summary> /// Returns the name of the table column for an entity's property. /// </summary> /// <param name="inspector">The model inspector.</param> /// <param name="member">The entity property.</param> /// <param name="declaringType"> </param> /// <returns>The name of the table column.</returns> public string Column(IModelInspector inspector, PropertyPath member, Type declaringType = null) { Requires.That(member, "member").IsNotNull(); Requires.That(member.LocalMember, "member.LocalMember").IsNotNull(); var localName = member.LocalMember.Name.Underscore(); if (declaringType != null) { return KeyColumnFormat.Formatted(declaringType.Name.Underscore(), localName); } var type = member.LocalMember.GetPropertyOrFieldType(); if (inspector.IsEntity(type)) // is a foreign key { var id = inspector.FindPersistentId(type); if (id != null) return KeyColumnFormat.Formatted(localName, Column(inspector, id)); } return localName; }
/// <summary> /// Returns the name of a key column. /// </summary> /// <param name="inspector">The model inspector.</param> /// <param name="member"></param> /// <param name="declaringType"> </param> /// <returns></returns> public string KeyColumn(IModelInspector inspector, PropertyPath member, Type declaringType = null) { Requires.That(member, "member").IsNotNull(); Requires.That(member.LocalMember, "member.LocalMember").IsNotNull(); var type = declaringType ?? member.LocalMember.DeclaringType; var localName = type.Name.Underscore(); var id = inspector.FindPersistentId(type); return KeyColumnFormat.Formatted(localName, id.LocalMember.Name.Underscore()); }