internal static MemberAttributes GetMemberAttributes(ColumnModifiers modifiers, bool isVirtual, EntityGenerationContext context) { switch (modifiers) { case ColumnModifiers.Internal: if (!(isVirtual)) { return(MemberAttributes.Assembly | MemberAttributes.Final); } else { return(MemberAttributes.Assembly); } case ColumnModifiers.Private: if (!(isVirtual)) { return(MemberAttributes.Private | MemberAttributes.Final); } else { return(MemberAttributes.Private); } case ColumnModifiers.Protected: if (!(isVirtual)) { return(MemberAttributes.Family | MemberAttributes.Final); } else { return(MemberAttributes.Family); } case ColumnModifiers.ProtectedInternal: if (!(isVirtual)) { return(MemberAttributes.FamilyOrAssembly | MemberAttributes.Final); } else { return(MemberAttributes.FamilyOrAssembly); } case ColumnModifiers.Public: if (!(isVirtual)) { return(MemberAttributes.Public | MemberAttributes.Final); } else { return(MemberAttributes.Public); } default: throw new NotSupportedException(string.Format("Cannot handle '{0}'.", modifiers)); } }
/// <summary> /// Given a column name, get the column modifier, if specified in the config /// </summary> /// <param name="columnName"></param> /// <returns></returns> public ColumnModifier getColumnModifier(string columnName) { ColumnModifier mod = null; // see if there are any column modifiers which override our length defaults for the given column if (ColumnModifiers != null) { IEnumerable <ColumnModifier> mods = ColumnModifiers.Where(c => ((c.columnName == columnName) && (c.type == "ShortenField"))); mod = mods.FirstOrDefault(); } return(mod); }