internal static MemberInfo GetForeignKey(MemberInfo memberInfo) { return(dictionary.GetOrAdd(memberInfo, _ => { memberInfo.EnsureMemberIsFieldOrProperty(); memberInfo.EnsureMemberIsCustomType(); var foreignKeyName = ForeignKeyNameConvention.GetDefaultConvention().GetForeignKeyName(memberInfo); return foreignKeyName == null ? null : memberInfo.DeclaringType.GetPropertyOrField(foreignKeyName); })); }
public void CustomForeignKeyName() { ForeignKeyNameConvention.SetDefaultConvention(new CustomForeignKeyNameConvention()); GetForeignKeyName <Book5>(p => p.Writer, p => p.WriterId); }
public void NavigationType_IdName() { ForeignKeyNameConvention.SetDefaultConvention(ForeignKeyNameConvention.NavigationType_IdName); GetForeignKeyName <Book4>(p => p.Writer, p => p.Author_AuthorId); }