private string GetFacetString(EdmProperty column)
{
StringBuilder sql = new StringBuilder();
Facet facet;
ReadOnlyMetadataCollection<Facet> facets = column.TypeUsage.Facets;
if (column.TypeUsage.EdmType.BaseType.Name == "String")
{
// types tinytext, mediumtext, text & longtext don't have a length.
if (!column.TypeUsage.EdmType.Name.EndsWith("text", StringComparison.OrdinalIgnoreCase))
{
if (facets.TryGetValue("MaxLength", true, out facet))
sql.AppendFormat(" ({0})", facet.Value);
}
}
if (facets.TryGetValue("Nullable", true, out facet) && (bool)facet.Value == false)
sql.Append(" NOT NULL");
if (facets.TryGetValue("StoreGeneratedPattern", true, out facet) && facet.Value.Equals(StoreGeneratedPattern.Identity))
sql.Append(" AUTO_INCREMENT PRIMARY KEY");
return sql.ToString();
}