public static string GetPropertyName(this Column column) { var name = column.Name; foreach (var item in DotNetNamingConvention.invalidChars) { name = name.Replace(item, '_'); } return(namingConvention.GetPropertyName(name)); }
/// <summary> /// Gets a class definition from <see cref="DbDataReader"/> implementation /// </summary> /// <param name="dataReader">Implementation of <see cref="DbDataReader"/> class</param> /// <param name="name">Class name</param> /// <param name="namingConvention">Implementation of <see cref="ICodeNamingConvention"/> interface</param> /// <returns></returns> public static ClassDefinition GetClassDefinition(this DbDataReader dataReader, string name = null, ICodeNamingConvention namingConvention = null) { var definition = new ClassDefinition { AccessModifier = AccessModifier.Public, Name = name ?? "Class1" }; if (dataReader.FieldCount > 0) { for (var i = 0; i < dataReader.FieldCount; i++) { var propertyType = dataReader.GetFieldType(i); var propertyName = namingConvention == null?dataReader.GetName(i) : namingConvention.GetPropertyName(dataReader.GetName(i)); definition.Properties.Add(new PropertyDefinition { AccessModifier = AccessModifier.Public, Type = propertyType.Name, Name = propertyName, IsAutomatic = true }); } } return(definition); }
public static string GetGetByUniqueRepositoryMethodName(this ITable dbObject, Unique unique) => string.Format("Get{0}By{1}Async", dbObject.GetEntityName(), string.Join("And", unique.Key.Select(item => CodeNamingConvention.GetPropertyName(item))));