public DbTypeBuilderResult Build(string name) { if (String.IsNullOrWhiteSpace(name)) { return(null); } name = name.ToLowerInvariant().Trim().Replace(" ", ""); var result = new DbTypeBuilderResult(); var typeName = name; if (name.Contains("(")) { typeName = name.Substring(0, name.IndexOf("(")); } DbType value; if (!Enum.TryParse <DbType>(typeName, true, out value)) { if (!TryParseEquivalent(typeName, out value)) { throw new ArgumentException(String.Format("Unknown type for database: {0}", typeName), "name"); } } result.Value = value; if (CanDefinePrecision(value)) { byte precison; if (TryDefinePrecision(name, out precison)) { result.Precision = precison; } } if (CanDefineSize(value)) { int size; if (TryDefineSize(name, out size)) { result.Size = size; } } return(result); }
public DbTypeBuilderResult Build(string name) { if (String.IsNullOrWhiteSpace(name)) return null; name = name.ToLowerInvariant().Trim().Replace(" ",""); var result = new DbTypeBuilderResult(); var typeName = name; if (name.Contains("(")) typeName = name.Substring(0, name.IndexOf("(")); DbType value; if (!Enum.TryParse<DbType>(typeName, true, out value)) { if (!TryParseEquivalent(typeName, out value)) { throw new ArgumentException(String.Format("Unknown type for database: {0}", typeName), "name"); } } result.Value = value; if (CanDefinePrecision(value)) { byte precison; if (TryDefinePrecision(name, out precison)) result.Precision = precison; } if (CanDefineSize(value)) { int size; if (TryDefineSize(name, out size)) result.Size = size; } return result; }