private void SynchronizeComplexUDTT(Type c, SqlServerMappedClassAttribute attr) { var schema = DefaultSchemaName; if (attr != null && attr.Schema != null) { schema = attr.Schema; } var name = MakeUDTTName(c); var fullName = MakeIdentifier(schema, name); if (this.UDTTExists(schema, name)) { this.DropUDTT(fullName); } this.CreateComplexUDTT(fullName, c); }
public static string MakeUDTTName(Type t) { if (t.IsArray) { t = t.GetElementType(); } var attr = MappedObjectAttribute.GetAttribute <SqlServerMappedClassAttribute>(t); if (attr == null) { attr = new SqlServerMappedClassAttribute(); attr.Name = t.Name; } attr.InferProperties(t); return(attr.Name + "UDTT"); }