public DataMember(string name, object value, DataMemberType memberType) { Name = name; Value = value; MemberType = memberType; }
public string Generate(Type t) { StringBuilder sb = new StringBuilder(); var attributes = t.GetCustomAttributes(false); foreach (var attribute in attributes) { if (attribute is DataTable) { var ce = attribute as DataTable; SqlServerSyntaxGenerator gen = new SqlServerSyntaxGenerator(); if (ce.Schema == null) { gen.SetTable(ce.TableName); } else { gen.SetTable(ce.Schema, ce.TableName); } var props = t.GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public); foreach (var prop in props) { var propAttributes = prop.GetCustomAttributes(false); DataMemberType propType = null; foreach (var propAttribute in propAttributes) { if (propAttribute is DataMemberType) { propType = propAttribute as DataMemberType; } } foreach (var propAttribute in propAttributes) { if (propAttribute is DataMember) { var cp = propAttribute as DataMember; if (propType != null) { if (cp.Length == -1) { gen.AddColumn(cp.ColumnName, propType.Type, cp.Nullable, cp.PrimaryKey); } else { gen.AddColumn(cp.ColumnName, propType.Type, cp.Nullable, cp.PrimaryKey, cp.Length); } } else { if (cp.Length == -1) { gen.AddColumn(cp.ColumnName, prop.PropertyType, cp.Nullable, cp.PrimaryKey); } else { gen.AddColumn(cp.ColumnName, prop.PropertyType, cp.Nullable, cp.PrimaryKey, cp.Length); } } } } } sb.Append(gen.Generate()); break; } } return(sb.ToString()); }
public DataMember(string name, DataMemberType type) : this(name, null, type) { }
public DataMember(string name, object value, DataMemberType type) { this.Name = name; this.Value = value; this.MemberType = type; }
public DataMember(object value, DataMemberType type) : this(string.Empty, value, type) { }