//------------------------------------------------------------------------------
// This is auto-generated code.
//------------------------------------------------------------------------------
// This code was generated by Entity Developer tool using NHibernate template.
// Code is generated on: 13.06.2012 13:18:41
//
// 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 ComplexTypeProperties
{

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

        private int _OrderID;

        private int _CustomerID;

        private System.Nullable<System.DateTime> _OrderDate;

        private System.Nullable<System.DateTime> _RequiredDate;

        private System.Nullable<System.DateTime> _ShippedDate;

        private System.Nullable<int> _ShipVia;

        private System.Nullable<int> _Freight;

        private string _ShipName;

        private AddressType _ShipAddress;
    
        #region Extensibility Method Definitions
        
        partial void OnCreated();
        
        #endregion

        public Order()
        {
            this._ShipAddress = new AddressType();
            OnCreated();
        }

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

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

    
        /// <summary>
        /// There are no comments for OrderDate in the schema.
        /// </summary>
        public virtual System.Nullable<System.DateTime> OrderDate
        {
            get
            {
                return this._OrderDate;
            }
            set
            {
                this._OrderDate = value;
            }
        }

    
        /// <summary>
        /// There are no comments for RequiredDate in the schema.
        /// </summary>
        public virtual System.Nullable<System.DateTime> RequiredDate
        {
            get
            {
                return this._RequiredDate;
            }
            set
            {
                this._RequiredDate = value;
            }
        }

    
        /// <summary>
        /// There are no comments for ShippedDate in the schema.
        /// </summary>
        public virtual System.Nullable<System.DateTime> ShippedDate
        {
            get
            {
                return this._ShippedDate;
            }
            set
            {
                this._ShippedDate = value;
            }
        }

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

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

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

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

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

        private int _CustomerID;

        private string _CompanyName;

        private string _ContactName;

        private string _ContactTitle;

        private string _Phone;

        private string _Fax;

        private AddressType _Address;
    
        #region Extensibility Method Definitions
        
        partial void OnCreated();
        
        #endregion

        public Customer()
        {
            this._Address = new AddressType();
            OnCreated();
        }

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

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

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

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

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

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

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

}

namespace ComplexTypeProperties
{

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

        private string _Address;

        private string _City;

        private string _Region;

        private string _PostalCode;

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

        public AddressType()
        {
            OnCreated();
        }

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

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

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

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

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

}
