/* ---- [ cut here: next file '.auto.cs'] ---------------- */
    //-------------------------------------------------------------
    //
    //  Application Description Framework
    //  .auto.cs
    //
    //  (c)2007 Cygnet Solutions Ltd
    //
    //  Automatically generated from application description using
    //  adl2entityclass.xsl version 
    //
    //  This file is automatically generated; DO NOT EDIT IT.
    //
    //-------------------------------------------------------------
    namespace 
    {
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Text.RegularExpressions;
    using Cygnet.Entities;
    using Cygnet.Exceptions;
    using Iesi.Collections.Generic;
    /// <summary>
    /// Automatically generated from description of entity 
    /// using adl2entityclass.xsl. Note that manually maintained parts of this
    /// class may be defined in a separate file called .cs, q.v.
    ///
    /// DO NOT EDIT THIS FILE!
    /// </summary>
    public partial class  : Entity
    {
    /// <summary>
    /// Auto-generated no-args constructor; does nothing (but probably should
    /// ensure ID slot is initialised correctly)
    /// </summary>
    public () : base(){
    
    }
    /// <summary>
    /// Auto-generated overridden property for the Key slot, maps onto
    /// </summary>
    public override string KeyString {
      get {
        
          
            return null; // No primary key; return null.
          
          
            return .ToString(); // Single key.
          
          
            StringBuilder result = new StringBuilder();
            
              result.Append(.KeyString);
              
                result.Append('|');
              
            
            return result.ToString();
          
        
      }
    }
    /// <summary>
    /// A user readable distinct identifying string
    /// </summary>
    public override string UserIdentifier {
      get {
        StringBuilder result = new StringBuilder();
        
          
            
              result.Append(.UserIdentifier);
              
                result.Append( ", ");
              
            
          
          
            result.AppendFormat( "#{0}", );
          
        
        return result.ToString();
      }
    }
    
    }
    }
  
  
  
    
    
      
      , 
      
        
      
    
  
  
    
  
  
    // auto generating iv/property pair for slot with name 
    
    
      
        true
        
          
          
        
      
    
    
      
        
          ICollection<>
        
        
          ICollection<>
        
        
          
        
        
          
            
          
        
      
    
    
      
        
          
            
              = ""
            
            
              = 
            
          
        
      
    
    
      
        
          
        
      
    
    
      private Regex Validator = new Regex( "");
    
    private   ;
    public virtual   
    {
    get { return ; }
    set {
    
      if ( value == null)
      {
      throw new DataRequiredException( 
        
          
        
        
          "The value for  may not be set to null"
        
      
      );
      }
    
    
      
        
          
        
      
      
        
          
        
      
      
        if ( value > )
        {
        throw new DataRangeException( "The maximum permitted value for  is ");
        }
      
      
        if ( value < )
        {
        throw new DataRangeException( "The minimum permitted value for  is ");
        }
      
      
        if ( value != null && ! Validator.IsMatch( value))
        {
        throw new DataFormatException( string.Format( "The value supplied ({0}) does not match the format required by ", value));
        }
      
    
    
      if ( value != null && value.Length > )
      {
      value = value.Substring( 0, );
      }
    
     = value;
    }
    }
  
  
    // auto generating for one-to-one with name 
    private  _;
    public virtual  
    {
    get { return _; }
    set { _ = value; }
    }
	
  
  
    // auto generating for set with name , having many-to-many child
    private ICollection<> ;
    public virtual ICollection<> 
    {
    get { return ; }
    set {  = value; }
    }
	
  
  
    // auto generating for set with name , having one-to-many child
    private ICollection<> ;
    public virtual ICollection<> 
    {
    get { return ; }
    set {  = value; }
    }
  
  
    
    
      
    
    
      
        
      
    
    ?
  
  
    
      
        
      
    
    true
  
  
  
    
      
      
        /*  */
    
  
  
    
                  ""
    
  
  
    
    
      
        
        
       = new HashedSet<>();
        
      
    
    
      
        
        
       = new HashedSet<>();