public static ISqlModelElement AdaptInstance()

in DacFxStronglyTypedModel/model.cs [306:554]


	    public static ISqlModelElement AdaptInstance(TSqlObject obj)
        {
		    if(obj == null)
		    {
			    throw new ArgumentNullException("obj");
		    }	
		
		    switch(obj.ObjectType.Name)
		    {
		    case "Column":     
                return new TSqlColumn(obj);
		    case "TableValuedFunction":     
                return new TSqlTableValuedFunction(obj);
		    case "ScalarFunction":     
                return new TSqlScalarFunction(obj);
		    case "ClrTableOption":     
                return new TSqlClrTableOption(obj);
		    case "Aggregate":     
                return new TSqlAggregate(obj);
		    case "ApplicationRole":     
                return new TSqlApplicationRole(obj);
		    case "Index":     
                return new TSqlIndex(obj);
		    case "Assembly":     
                return new TSqlAssembly(obj);
		    case "AssemblySource":     
                return new TSqlAssemblySource(obj);
		    case "AsymmetricKey":     
                return new TSqlAsymmetricKey(obj);
		    case "AuditAction":     
                return new TSqlAuditAction(obj);
		    case "AuditActionGroup":     
                return new TSqlAuditActionGroup(obj);
		    case "AuditActionSpecification":     
                return new TSqlAuditActionSpecification(obj);
		    case "BrokerPriority":     
                return new TSqlBrokerPriority(obj);
		    case "BuiltInServerRole":     
                return new TSqlBuiltInServerRole(obj);
		    case "DataType":     
                return new TSqlDataType(obj);
		    case "Certificate":     
                return new TSqlCertificate(obj);
		    case "CheckConstraint":     
                return new TSqlCheckConstraint(obj);
		    case "ClrTypeMethod":     
                return new TSqlClrTypeMethod(obj);
		    case "ClrTypeMethodParameter":     
                return new TSqlClrTypeMethodParameter(obj);
		    case "ClrTypeProperty":     
                return new TSqlClrTypeProperty(obj);
		    case "ColumnStoreIndex":     
                return new TSqlColumnStoreIndex(obj);
		    case "Contract":     
                return new TSqlContract(obj);
		    case "Credential":     
                return new TSqlCredential(obj);
		    case "CryptographicProvider":     
                return new TSqlCryptographicProvider(obj);
		    case "DatabaseAuditSpecification":     
                return new TSqlDatabaseAuditSpecification(obj);
		    case "DatabaseDdlTrigger":     
                return new TSqlDatabaseDdlTrigger(obj);
		    case "DatabaseEncryptionKey":     
                return new TSqlDatabaseEncryptionKey(obj);
		    case "DatabaseEventNotification":     
                return new TSqlDatabaseEventNotification(obj);
		    case "DatabaseMirroringLanguageSpecifier":     
                return new TSqlDatabaseMirroringLanguageSpecifier(obj);
		    case "DatabaseOptions":     
                return new TSqlDatabaseOptions(obj);
		    case "DataCompressionOption":     
                return new TSqlDataCompressionOption(obj);
		    case "Default":     
                return new TSqlDefault(obj);
		    case "DefaultConstraint":     
                return new TSqlDefaultConstraint(obj);
		    case "DmlTrigger":     
                return new TSqlDmlTrigger(obj);
		    case "Endpoint":     
                return new TSqlEndpoint(obj);
		    case "ErrorMessage":     
                return new TSqlErrorMessage(obj);
		    case "EventGroup":     
                return new TSqlEventGroup(obj);
		    case "EventSession":     
                return new TSqlEventSession(obj);
		    case "EventSessionAction":     
                return new TSqlEventSessionAction(obj);
		    case "EventSessionDefinitions":     
                return new TSqlEventSessionDefinitions(obj);
		    case "EventSessionSetting":     
                return new TSqlEventSessionSetting(obj);
		    case "EventSessionTarget":     
                return new TSqlEventSessionTarget(obj);
		    case "EventTypeSpecifier":     
                return new TSqlEventTypeSpecifier(obj);
		    case "ExtendedProcedure":     
                return new TSqlExtendedProcedure(obj);
		    case "ExtendedProperty":     
                return new TSqlExtendedProperty(obj);
		    case "SqlFile":     
                return new TSqlSqlFile(obj);
		    case "Filegroup":     
                return new TSqlFilegroup(obj);
		    case "ForeignKeyConstraint":     
                return new TSqlForeignKeyConstraint(obj);
		    case "FullTextCatalog":     
                return new TSqlFullTextCatalog(obj);
		    case "FullTextIndex":     
                return new TSqlFullTextIndex(obj);
		    case "FullTextIndexColumnSpecifier":     
                return new TSqlFullTextIndexColumnSpecifier(obj);
		    case "FullTextStopList":     
                return new TSqlFullTextStopList(obj);
		    case "HttpProtocolSpecifier":     
                return new TSqlHttpProtocolSpecifier(obj);
		    case "LinkedServer":     
                return new TSqlLinkedServer(obj);
		    case "LinkedServerLogin":     
                return new TSqlLinkedServerLogin(obj);
		    case "Login":     
                return new TSqlLogin(obj);
		    case "MasterKey":     
                return new TSqlMasterKey(obj);
		    case "MessageType":     
                return new TSqlMessageType(obj);
		    case "PartitionFunction":     
                return new TSqlPartitionFunction(obj);
		    case "PartitionScheme":     
                return new TSqlPartitionScheme(obj);
		    case "PartitionValue":     
                return new TSqlPartitionValue(obj);
		    case "Permission":     
                return new TSqlPermission(obj);
		    case "PrimaryKeyConstraint":     
                return new TSqlPrimaryKeyConstraint(obj);
		    case "Procedure":     
                return new TSqlProcedure(obj);
		    case "Queue":     
                return new TSqlQueue(obj);
		    case "QueueEventNotification":     
                return new TSqlQueueEventNotification(obj);
		    case "RemoteServiceBinding":     
                return new TSqlRemoteServiceBinding(obj);
		    case "ResourceGovernor":     
                return new TSqlResourceGovernor(obj);
		    case "ResourcePool":     
                return new TSqlResourcePool(obj);
		    case "Role":     
                return new TSqlRole(obj);
		    case "RoleMembership":     
                return new TSqlRoleMembership(obj);
		    case "Route":     
                return new TSqlRoute(obj);
		    case "Rule":     
                return new TSqlRule(obj);
		    case "Schema":     
                return new TSqlSchema(obj);
		    case "SearchProperty":     
                return new TSqlSearchProperty(obj);
		    case "SearchPropertyList":     
                return new TSqlSearchPropertyList(obj);
		    case "Sequence":     
                return new TSqlSequence(obj);
		    case "ServerAudit":     
                return new TSqlServerAudit(obj);
		    case "ServerAuditSpecification":     
                return new TSqlServerAuditSpecification(obj);
		    case "ServerDdlTrigger":     
                return new TSqlServerDdlTrigger(obj);
		    case "ServerEventNotification":     
                return new TSqlServerEventNotification(obj);
		    case "ServerOptions":     
                return new TSqlServerOptions(obj);
		    case "ServerRoleMembership":     
                return new TSqlServerRoleMembership(obj);
		    case "Service":     
                return new TSqlService(obj);
		    case "ServiceBrokerLanguageSpecifier":     
                return new TSqlServiceBrokerLanguageSpecifier(obj);
		    case "Signature":     
                return new TSqlSignature(obj);
		    case "SignatureEncryptionMechanism":     
                return new TSqlSignatureEncryptionMechanism(obj);
		    case "SoapLanguageSpecifier":     
                return new TSqlSoapLanguageSpecifier(obj);
		    case "SoapMethodSpecification":     
                return new TSqlSoapMethodSpecification(obj);
		    case "SpatialIndex":     
                return new TSqlSpatialIndex(obj);
		    case "Statistics":     
                return new TSqlStatistics(obj);
		    case "Parameter":     
                return new TSqlParameter(obj);
		    case "SymmetricKey":     
                return new TSqlSymmetricKey(obj);
		    case "SymmetricKeyPassword":     
                return new TSqlSymmetricKeyPassword(obj);
		    case "Synonym":     
                return new TSqlSynonym(obj);
		    case "Table":     
                return new TSqlTable(obj);
		    case "FileTable":     
                return new TSqlFileTable(obj);
		    case "TableType":     
                return new TSqlTableType(obj);
		    case "TableTypeCheckConstraint":     
                return new TSqlTableTypeCheckConstraint(obj);
		    case "TableTypeColumn":     
                return new TSqlTableTypeColumn(obj);
		    case "TableTypeDefaultConstraint":     
                return new TSqlTableTypeDefaultConstraint(obj);
		    case "TableTypeIndex":     
                return new TSqlTableTypeIndex(obj);
		    case "TableTypePrimaryKeyConstraint":     
                return new TSqlTableTypePrimaryKeyConstraint(obj);
		    case "TableTypeUniqueConstraint":     
                return new TSqlTableTypeUniqueConstraint(obj);
		    case "TcpProtocolSpecifier":     
                return new TSqlTcpProtocolSpecifier(obj);
		    case "UniqueConstraint":     
                return new TSqlUniqueConstraint(obj);
		    case "User":     
                return new TSqlUser(obj);
		    case "UserDefinedServerRole":     
                return new TSqlUserDefinedServerRole(obj);
		    case "UserDefinedType":     
                return new TSqlUserDefinedType(obj);
		    case "View":     
                return new TSqlView(obj);
		    case "WorkloadGroup":     
                return new TSqlWorkloadGroup(obj);
		    case "XmlIndex":     
                return new TSqlXmlIndex(obj);
		    case "SelectiveXmlIndex":     
                return new TSqlSelectiveXmlIndex(obj);
		    case "XmlNamespace":     
                return new TSqlXmlNamespace(obj);
		    case "PromotedNodePathForXQueryType":     
                return new TSqlPromotedNodePathForXQueryType(obj);
		    case "PromotedNodePathForSqlType":     
                return new TSqlPromotedNodePathForSqlType(obj);
		    case "XmlSchemaCollection":     
                return new TSqlXmlSchemaCollection(obj);
		    default:
			    throw new ArgumentException("No type mapping exists for " + obj.ObjectType.Name);
		    }
	    }