File:  [NeXTSTEP 3.3 examples] / Examples / EnterpriseObjects / ManyToMany / Projects_sybase / Projects.eomodel
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:48:45 2018 UTC (8 years, 1 month ago) by root
Branches: NeXT, MAIN
CVS tags: NeXTSTEP33, HEAD
Sample Programs from NeXSTEP 3.3

{
    EOModelVersion = 1; 
    adaptorName = Sybase; 
    connectionDictionary = {databaseName = ""; hostName = ""; password = ""; userName = ""; }; 
    entities = (
	{
	    attributes = (
		{
		    columnName = EMP_ID; 
		    externalType = int; 
		    name = EmpId; 
		    valueClassName = NSNumber; 
		    valueType = i; 
		}, 
		{
		    columnName = PROJECT_ID; 
		    externalType = int; 
		    name = ProjectId; 
		    valueClassName = NSNumber; 
		    valueType = i; 
		}
	    ); 
	    attributesUsedForLocking = (EmpId, ProjectId); 
	    classProperties = (EmpId, ProjectId, toProject, toEmployee); 
	    externalName = EMP_PROJECT; 
	    name = EmpProject; 
	    primaryKeyAttributes = (EmpId, ProjectId); 
	    relationships = (
		{
		    destination = Employee; 
		    isToMany = N; 
		    joins = (
			{
			    destinationAttribute = EmpId; 
			    joinOperator = EOJoinEqualTo; 
			    joinSemantic = EOInnerJoin; 
			    sourceAttribute = EmpId; 
			}
		    ); 
		    name = toEmployee; 
		}, 
		{
		    destination = Project; 
		    isToMany = N; 
		    joins = (
			{
			    destinationAttribute = ProjectId; 
			    joinOperator = EOJoinEqualTo; 
			    joinSemantic = EOInnerJoin; 
			    sourceAttribute = ProjectId; 
			}
		    ); 
		    name = toProject; 
		}
	    ); 
	}, 
	{
	    attributes = (
		{
		    columnName = EMP_ID; 
		    externalType = int; 
		    name = EmpId; 
		    valueClassName = NSNumber; 
		    valueType = i; 
		}, 
		{
		    columnName = FIRST_NAME; 
		    externalType = varchar; 
		    name = FirstName; 
		    valueClassName = NSString; 
		}, 
		{
		    columnName = LAST_NAME; 
		    externalType = varchar; 
		    name = LastName; 
		    valueClassName = NSString; 
		}, 
		{
		    definition = "LastName + ', ' + FirstName"; 
		    externalType = varchar; 
		    isReadOnly = Y; 
		    name = Name; 
		    valueClassName = NSString; 
		}, 
		{
		    columnName = PHONE; 
		    externalType = char; 
		    name = Phone; 
		    valueClassName = NSString; 
		}
	    ); 
	    attributesUsedForLocking = (EmpId, FirstName, LastName, Phone); 
	    classProperties = (EmpId, FirstName, LastName, Phone, Name, toProjects, toEmpProjects); 
	    externalName = EMPLOYEE; 
	    name = Employee; 
	    primaryKeyAttributes = (EmpId); 
	    relationships = (
		{
		    destination = EmpProject; 
		    isToMany = Y; 
		    joins = (
			{
			    destinationAttribute = EmpId; 
			    joinOperator = EOJoinEqualTo; 
			    joinSemantic = EOInnerJoin; 
			    sourceAttribute = EmpId; 
			}
		    ); 
		    name = toEmpProjects; 
		}, 
		{definition = toEmpProjects.toProject; name = toProjects; }
	    ); 
	}, 
	{
	    attributes = (
		{
		    columnName = PROJECT_ID; 
		    externalType = int; 
		    name = ProjectId; 
		    valueClassName = NSNumber; 
		    valueType = i; 
		}, 
		{
		    columnName = PROJECT_NAME; 
		    externalType = varchar; 
		    name = ProjectName; 
		    valueClassName = NSString; 
		}
	    ); 
	    attributesUsedForLocking = (ProjectId, ProjectName); 
	    classProperties = (ProjectId, ProjectName, toEmployees, toEmpProjects); 
	    externalName = PROJECT; 
	    name = Project; 
	    primaryKeyAttributes = (ProjectId); 
	    relationships = (
		{
		    destination = EmpProject; 
		    isToMany = Y; 
		    joins = (
			{
			    destinationAttribute = ProjectId; 
			    joinOperator = EOJoinEqualTo; 
			    joinSemantic = EOInnerJoin; 
			    sourceAttribute = ProjectId; 
			}
		    ); 
		    name = toEmpProjects; 
		}, 
		{definition = toEmpProjects.toEmployee; name = toEmployees; }
	    ); 
	}
    ); 
}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.