//------------------------------------------------------------------------------
// This is auto-generated code.
//------------------------------------------------------------------------------
// This code was generated by Entity Developer tool using NHibernate template.
// Code is generated on: 19.06.2012 16:39:19
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
//------------------------------------------------------------------------------

using System;
using System.Collections;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Collections.Generic;

namespace ComponentUniqueKeys
{

    /// <summary>
    /// There are no comments for ComponentUniqueKeys.Factory, ComponentUniqueKeys in the schema.
    /// </summary>
    public partial class Factory {

        private int _FactoryID;

        private KeyType _FactoryKey;

        private Iesi.Collections.Generic.ISet<Company> _Companies;
    
        #region Extensibility Method Definitions
        
        partial void OnCreated();
        
        #endregion

        public Factory()
        {
            this._FactoryKey = new KeyType();
            this._Companies = new Iesi.Collections.Generic.HashedSet<Company>();
            OnCreated();
        }

    
        /// <summary>
        /// There are no comments for FactoryID in the schema.
        /// </summary>
        public virtual int FactoryID
        {
            get
            {
                return this._FactoryID;
            }
            set
            {
                this._FactoryID = value;
            }
        }

    
        /// <summary>
        /// There are no comments for FactoryKey in the schema.
        /// </summary>
        public virtual KeyType FactoryKey
        {
            get
            {
                return this._FactoryKey;
            }
            set
            {
                this._FactoryKey = value;
            }
        }

    
        /// <summary>
        /// There are no comments for Companies in the schema.
        /// </summary>
        public virtual Iesi.Collections.Generic.ISet<Company> Companies
        {
            get
            {
                return this._Companies;
            }
            set
            {
                this._Companies = value;
            }
        }
    }

    /// <summary>
    /// There are no comments for ComponentUniqueKeys.Company, ComponentUniqueKeys in the schema.
    /// </summary>
    public partial class Company {

        private int _CompanyID;

        private KeyType _CompanyKey;

        private Iesi.Collections.Generic.ISet<Factory> _Factories;
    
        #region Extensibility Method Definitions
        
        partial void OnCreated();
        
        #endregion

        public Company()
        {
            this._CompanyKey = new KeyType();
            this._Factories = new Iesi.Collections.Generic.HashedSet<Factory>();
            OnCreated();
        }

    
        /// <summary>
        /// There are no comments for CompanyID in the schema.
        /// </summary>
        public virtual int CompanyID
        {
            get
            {
                return this._CompanyID;
            }
            set
            {
                this._CompanyID = value;
            }
        }

    
        /// <summary>
        /// There are no comments for CompanyKey in the schema.
        /// </summary>
        public virtual KeyType CompanyKey
        {
            get
            {
                return this._CompanyKey;
            }
            set
            {
                this._CompanyKey = value;
            }
        }

    
        /// <summary>
        /// There are no comments for Factories in the schema.
        /// </summary>
        public virtual Iesi.Collections.Generic.ISet<Factory> Factories
        {
            get
            {
                return this._Factories;
            }
            set
            {
                this._Factories = value;
            }
        }
    }

}

namespace ComponentUniqueKeys
{

    /// <summary>
    /// There are no comments for ComponentUniqueKeys.KeyType, ComponentUniqueKeys in the schema.
    /// </summary>
    public partial class KeyType {

        private string _Name;

        private string _Phone;
    
        #region Extensibility Method Definitions
        
        partial void OnCreated();
        
        #endregion

        public KeyType()
        {
            OnCreated();
        }

    
        /// <summary>
        /// There are no comments for Name in the schema.
        /// </summary>
        public virtual string Name
        {
            get
            {
                return this._Name;
            }
            set
            {
                this._Name = value;
            }
        }

    
        /// <summary>
        /// There are no comments for Phone in the schema.
        /// </summary>
        public virtual string Phone
        {
            get
            {
                return this._Phone;
            }
            set
            {
                this._Phone = value;
            }
        }
    }

}
