//------------------------------------------------------------------------------
// <auto-generated>
//    This code was generated from a template.
//
//    Manual changes to this file may cause unexpected behavior in your application.
//    Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.Data.Objects;
using System.Data.Objects.DataClasses;
using System.Data.EntityClient;
using System.ComponentModel;
using System.Xml.Serialization;
using System.Runtime.Serialization;

[assembly: EdmSchemaAttribute()]
#region EDM Relationship Metadata

[assembly: EdmRelationshipAttribute("Data", "FK_Equip_Character", "Character", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(Zepheus.World.Data.Character), "Equip", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(Zepheus.World.Data.Equip), true)]

#endregion

namespace Zepheus.World.Data
{
    #region Contexts
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    public partial class WorldEntities : ObjectContext
    {
        #region Constructors
    
        /// <summary>
        /// Initializes a new WorldEntities object using the connection string found in the 'WorldEntities' section of the application configuration file.
        /// </summary>
        public WorldEntities() : base("name=WorldEntities", "WorldEntities")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        /// <summary>
        /// Initialize a new WorldEntities object.
        /// </summary>
        public WorldEntities(string connectionString) : base(connectionString, "WorldEntities")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        /// <summary>
        /// Initialize a new WorldEntities object.
        /// </summary>
        public WorldEntities(EntityConnection connection) : base(connection, "WorldEntities")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        #endregion
    
        #region Partial Methods
    
        partial void OnContextCreated();
    
        #endregion
    
        #region ObjectSet Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<Character> Characters
        {
            get
            {
                if ((_Characters == null))
                {
                    _Characters = base.CreateObjectSet<Character>("Characters");
                }
                return _Characters;
            }
        }
        private ObjectSet<Character> _Characters;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<Equip> Equips
        {
            get
            {
                if ((_Equips == null))
                {
                    _Equips = base.CreateObjectSet<Equip>("Equips");
                }
                return _Equips;
            }
        }
        private ObjectSet<Equip> _Equips;

        #endregion
        #region AddTo Methods
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Characters EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToCharacters(Character character)
        {
            base.AddObject("Characters", character);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Equips EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToEquips(Equip equip)
        {
            base.AddObject("Equips", equip);
        }

        #endregion
    }
    

    #endregion
    
    #region Entities
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="Data", Name="Character")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class Character : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new Character object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="accountID">Initial value of the AccountID property.</param>
        /// <param name="name">Initial value of the Name property.</param>
        /// <param name="slot">Initial value of the Slot property.</param>
        /// <param name="map">Initial value of the Map property.</param>
        /// <param name="charLevel">Initial value of the CharLevel property.</param>
        /// <param name="job">Initial value of the Job property.</param>
        /// <param name="male">Initial value of the Male property.</param>
        /// <param name="hP">Initial value of the HP property.</param>
        /// <param name="sP">Initial value of the SP property.</param>
        /// <param name="exp">Initial value of the Exp property.</param>
        /// <param name="money">Initial value of the Money property.</param>
        /// <param name="hair">Initial value of the Hair property.</param>
        /// <param name="hairColor">Initial value of the HairColor property.</param>
        /// <param name="face">Initial value of the Face property.</param>
        /// <param name="xPos">Initial value of the XPos property.</param>
        /// <param name="yPos">Initial value of the YPos property.</param>
        /// <param name="statPoints">Initial value of the StatPoints property.</param>
        /// <param name="strStats">Initial value of the StrStats property.</param>
        /// <param name="endStats">Initial value of the EndStats property.</param>
        /// <param name="dexStats">Initial value of the DexStats property.</param>
        /// <param name="intStats">Initial value of the IntStats property.</param>
        /// <param name="sprStats">Initial value of the SprStats property.</param>
        public static Character CreateCharacter(global::System.Int32 id, global::System.Int32 accountID, global::System.String name, global::System.Byte slot, global::System.Byte map, global::System.Byte charLevel, global::System.Byte job, global::System.Boolean male, global::System.Int32 hP, global::System.Int32 sP, global::System.Int64 exp, global::System.Int64 money, global::System.Byte hair, global::System.Byte hairColor, global::System.Byte face, global::System.Int32 xPos, global::System.Int32 yPos, global::System.Byte statPoints, global::System.Byte strStats, global::System.Byte endStats, global::System.Byte dexStats, global::System.Byte intStats, global::System.Byte sprStats)
        {
            Character character = new Character();
            character.ID = id;
            character.AccountID = accountID;
            character.Name = name;
            character.Slot = slot;
            character.Map = map;
            character.CharLevel = charLevel;
            character.Job = job;
            character.Male = male;
            character.HP = hP;
            character.SP = sP;
            character.Exp = exp;
            character.Money = money;
            character.Hair = hair;
            character.HairColor = hairColor;
            character.Face = face;
            character.XPos = xPos;
            character.YPos = yPos;
            character.StatPoints = statPoints;
            character.StrStats = strStats;
            character.EndStats = endStats;
            character.DexStats = dexStats;
            character.IntStats = intStats;
            character.SprStats = sprStats;
            return character;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Int32 _ID;
        partial void OnIDChanging(global::System.Int32 value);
        partial void OnIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 AccountID
        {
            get
            {
                return _AccountID;
            }
            set
            {
                OnAccountIDChanging(value);
                ReportPropertyChanging("AccountID");
                _AccountID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("AccountID");
                OnAccountIDChanged();
            }
        }
        private global::System.Int32 _AccountID;
        partial void OnAccountIDChanging(global::System.Int32 value);
        partial void OnAccountIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Name
        {
            get
            {
                return _Name;
            }
            set
            {
                OnNameChanging(value);
                ReportPropertyChanging("Name");
                _Name = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Name");
                OnNameChanged();
            }
        }
        private global::System.String _Name;
        partial void OnNameChanging(global::System.String value);
        partial void OnNameChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte Slot
        {
            get
            {
                return _Slot;
            }
            set
            {
                OnSlotChanging(value);
                ReportPropertyChanging("Slot");
                _Slot = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Slot");
                OnSlotChanged();
            }
        }
        private global::System.Byte _Slot;
        partial void OnSlotChanging(global::System.Byte value);
        partial void OnSlotChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte Map
        {
            get
            {
                return _Map;
            }
            set
            {
                OnMapChanging(value);
                ReportPropertyChanging("Map");
                _Map = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Map");
                OnMapChanged();
            }
        }
        private global::System.Byte _Map;
        partial void OnMapChanging(global::System.Byte value);
        partial void OnMapChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte CharLevel
        {
            get
            {
                return _CharLevel;
            }
            set
            {
                OnCharLevelChanging(value);
                ReportPropertyChanging("CharLevel");
                _CharLevel = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("CharLevel");
                OnCharLevelChanged();
            }
        }
        private global::System.Byte _CharLevel;
        partial void OnCharLevelChanging(global::System.Byte value);
        partial void OnCharLevelChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte Job
        {
            get
            {
                return _Job;
            }
            set
            {
                OnJobChanging(value);
                ReportPropertyChanging("Job");
                _Job = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Job");
                OnJobChanged();
            }
        }
        private global::System.Byte _Job;
        partial void OnJobChanging(global::System.Byte value);
        partial void OnJobChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Boolean Male
        {
            get
            {
                return _Male;
            }
            set
            {
                OnMaleChanging(value);
                ReportPropertyChanging("Male");
                _Male = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Male");
                OnMaleChanged();
            }
        }
        private global::System.Boolean _Male;
        partial void OnMaleChanging(global::System.Boolean value);
        partial void OnMaleChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 HP
        {
            get
            {
                return _HP;
            }
            set
            {
                OnHPChanging(value);
                ReportPropertyChanging("HP");
                _HP = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("HP");
                OnHPChanged();
            }
        }
        private global::System.Int32 _HP;
        partial void OnHPChanging(global::System.Int32 value);
        partial void OnHPChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 SP
        {
            get
            {
                return _SP;
            }
            set
            {
                OnSPChanging(value);
                ReportPropertyChanging("SP");
                _SP = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("SP");
                OnSPChanged();
            }
        }
        private global::System.Int32 _SP;
        partial void OnSPChanging(global::System.Int32 value);
        partial void OnSPChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 Exp
        {
            get
            {
                return _Exp;
            }
            set
            {
                OnExpChanging(value);
                ReportPropertyChanging("Exp");
                _Exp = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Exp");
                OnExpChanged();
            }
        }
        private global::System.Int64 _Exp;
        partial void OnExpChanging(global::System.Int64 value);
        partial void OnExpChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 Money
        {
            get
            {
                return _Money;
            }
            set
            {
                OnMoneyChanging(value);
                ReportPropertyChanging("Money");
                _Money = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Money");
                OnMoneyChanged();
            }
        }
        private global::System.Int64 _Money;
        partial void OnMoneyChanging(global::System.Int64 value);
        partial void OnMoneyChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte Hair
        {
            get
            {
                return _Hair;
            }
            set
            {
                OnHairChanging(value);
                ReportPropertyChanging("Hair");
                _Hair = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Hair");
                OnHairChanged();
            }
        }
        private global::System.Byte _Hair;
        partial void OnHairChanging(global::System.Byte value);
        partial void OnHairChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte HairColor
        {
            get
            {
                return _HairColor;
            }
            set
            {
                OnHairColorChanging(value);
                ReportPropertyChanging("HairColor");
                _HairColor = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("HairColor");
                OnHairColorChanged();
            }
        }
        private global::System.Byte _HairColor;
        partial void OnHairColorChanging(global::System.Byte value);
        partial void OnHairColorChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte Face
        {
            get
            {
                return _Face;
            }
            set
            {
                OnFaceChanging(value);
                ReportPropertyChanging("Face");
                _Face = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Face");
                OnFaceChanged();
            }
        }
        private global::System.Byte _Face;
        partial void OnFaceChanging(global::System.Byte value);
        partial void OnFaceChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 XPos
        {
            get
            {
                return _XPos;
            }
            set
            {
                OnXPosChanging(value);
                ReportPropertyChanging("XPos");
                _XPos = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("XPos");
                OnXPosChanged();
            }
        }
        private global::System.Int32 _XPos;
        partial void OnXPosChanging(global::System.Int32 value);
        partial void OnXPosChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 YPos
        {
            get
            {
                return _YPos;
            }
            set
            {
                OnYPosChanging(value);
                ReportPropertyChanging("YPos");
                _YPos = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("YPos");
                OnYPosChanged();
            }
        }
        private global::System.Int32 _YPos;
        partial void OnYPosChanging(global::System.Int32 value);
        partial void OnYPosChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte StatPoints
        {
            get
            {
                return _StatPoints;
            }
            set
            {
                OnStatPointsChanging(value);
                ReportPropertyChanging("StatPoints");
                _StatPoints = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("StatPoints");
                OnStatPointsChanged();
            }
        }
        private global::System.Byte _StatPoints;
        partial void OnStatPointsChanging(global::System.Byte value);
        partial void OnStatPointsChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte StrStats
        {
            get
            {
                return _StrStats;
            }
            set
            {
                OnStrStatsChanging(value);
                ReportPropertyChanging("StrStats");
                _StrStats = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("StrStats");
                OnStrStatsChanged();
            }
        }
        private global::System.Byte _StrStats;
        partial void OnStrStatsChanging(global::System.Byte value);
        partial void OnStrStatsChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte EndStats
        {
            get
            {
                return _EndStats;
            }
            set
            {
                OnEndStatsChanging(value);
                ReportPropertyChanging("EndStats");
                _EndStats = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("EndStats");
                OnEndStatsChanged();
            }
        }
        private global::System.Byte _EndStats;
        partial void OnEndStatsChanging(global::System.Byte value);
        partial void OnEndStatsChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte DexStats
        {
            get
            {
                return _DexStats;
            }
            set
            {
                OnDexStatsChanging(value);
                ReportPropertyChanging("DexStats");
                _DexStats = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("DexStats");
                OnDexStatsChanged();
            }
        }
        private global::System.Byte _DexStats;
        partial void OnDexStatsChanging(global::System.Byte value);
        partial void OnDexStatsChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte IntStats
        {
            get
            {
                return _IntStats;
            }
            set
            {
                OnIntStatsChanging(value);
                ReportPropertyChanging("IntStats");
                _IntStats = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("IntStats");
                OnIntStatsChanged();
            }
        }
        private global::System.Byte _IntStats;
        partial void OnIntStatsChanging(global::System.Byte value);
        partial void OnIntStatsChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte SprStats
        {
            get
            {
                return _SprStats;
            }
            set
            {
                OnSprStatsChanging(value);
                ReportPropertyChanging("SprStats");
                _SprStats = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("SprStats");
                OnSprStatsChanged();
            }
        }
        private global::System.Byte _SprStats;
        partial void OnSprStatsChanging(global::System.Byte value);
        partial void OnSprStatsChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.Int32> CurrentTitle
        {
            get
            {
                return _CurrentTitle;
            }
            set
            {
                OnCurrentTitleChanging(value);
                ReportPropertyChanging("CurrentTitle");
                _CurrentTitle = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("CurrentTitle");
                OnCurrentTitleChanged();
            }
        }
        private Nullable<global::System.Int32> _CurrentTitle;
        partial void OnCurrentTitleChanging(Nullable<global::System.Int32> value);
        partial void OnCurrentTitleChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.Byte[] QuickBar
        {
            get
            {
                return StructuralObject.GetValidValue(_QuickBar);
            }
            set
            {
                OnQuickBarChanging(value);
                ReportPropertyChanging("QuickBar");
                _QuickBar = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("QuickBar");
                OnQuickBarChanged();
            }
        }
        private global::System.Byte[] _QuickBar;
        partial void OnQuickBarChanging(global::System.Byte[] value);
        partial void OnQuickBarChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.Byte[] QuickBarState
        {
            get
            {
                return StructuralObject.GetValidValue(_QuickBarState);
            }
            set
            {
                OnQuickBarStateChanging(value);
                ReportPropertyChanging("QuickBarState");
                _QuickBarState = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("QuickBarState");
                OnQuickBarStateChanged();
            }
        }
        private global::System.Byte[] _QuickBarState;
        partial void OnQuickBarStateChanging(global::System.Byte[] value);
        partial void OnQuickBarStateChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.Byte[] Shortcuts
        {
            get
            {
                return StructuralObject.GetValidValue(_Shortcuts);
            }
            set
            {
                OnShortcutsChanging(value);
                ReportPropertyChanging("Shortcuts");
                _Shortcuts = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("Shortcuts");
                OnShortcutsChanged();
            }
        }
        private global::System.Byte[] _Shortcuts;
        partial void OnShortcutsChanging(global::System.Byte[] value);
        partial void OnShortcutsChanged();

        #endregion
    
        #region Navigation Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("Data", "FK_Equip_Character", "Equip")]
        public EntityCollection<Equip> Equips
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<Equip>("Data.FK_Equip_Character", "Equip");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<Equip>("Data.FK_Equip_Character", "Equip", value);
                }
            }
        }

        #endregion
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="Data", Name="Equip")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class Equip : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new Equip object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="owner">Initial value of the Owner property.</param>
        /// <param name="slot">Initial value of the Slot property.</param>
        /// <param name="equipID">Initial value of the EquipID property.</param>
        /// <param name="upgrades">Initial value of the Upgrades property.</param>
        /// <param name="incStr">Initial value of the IncStr property.</param>
        /// <param name="incEnd">Initial value of the IncEnd property.</param>
        /// <param name="incDex">Initial value of the IncDex property.</param>
        /// <param name="incInt">Initial value of the IncInt property.</param>
        /// <param name="incSpr">Initial value of the IncSpr property.</param>
        public static Equip CreateEquip(global::System.Int32 id, global::System.Int32 owner, global::System.Int16 slot, global::System.Int32 equipID, global::System.Byte upgrades, global::System.Byte incStr, global::System.Byte incEnd, global::System.Byte incDex, global::System.Byte incInt, global::System.Byte incSpr)
        {
            Equip equip = new Equip();
            equip.ID = id;
            equip.Owner = owner;
            equip.Slot = slot;
            equip.EquipID = equipID;
            equip.Upgrades = upgrades;
            equip.IncStr = incStr;
            equip.IncEnd = incEnd;
            equip.IncDex = incDex;
            equip.IncInt = incInt;
            equip.IncSpr = incSpr;
            return equip;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Int32 _ID;
        partial void OnIDChanging(global::System.Int32 value);
        partial void OnIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 Owner
        {
            get
            {
                return _Owner;
            }
            set
            {
                OnOwnerChanging(value);
                ReportPropertyChanging("Owner");
                _Owner = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Owner");
                OnOwnerChanged();
            }
        }
        private global::System.Int32 _Owner;
        partial void OnOwnerChanging(global::System.Int32 value);
        partial void OnOwnerChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int16 Slot
        {
            get
            {
                return _Slot;
            }
            set
            {
                OnSlotChanging(value);
                ReportPropertyChanging("Slot");
                _Slot = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Slot");
                OnSlotChanged();
            }
        }
        private global::System.Int16 _Slot;
        partial void OnSlotChanging(global::System.Int16 value);
        partial void OnSlotChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 EquipID
        {
            get
            {
                return _EquipID;
            }
            set
            {
                OnEquipIDChanging(value);
                ReportPropertyChanging("EquipID");
                _EquipID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("EquipID");
                OnEquipIDChanged();
            }
        }
        private global::System.Int32 _EquipID;
        partial void OnEquipIDChanging(global::System.Int32 value);
        partial void OnEquipIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte Upgrades
        {
            get
            {
                return _Upgrades;
            }
            set
            {
                OnUpgradesChanging(value);
                ReportPropertyChanging("Upgrades");
                _Upgrades = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Upgrades");
                OnUpgradesChanged();
            }
        }
        private global::System.Byte _Upgrades;
        partial void OnUpgradesChanging(global::System.Byte value);
        partial void OnUpgradesChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte IncStr
        {
            get
            {
                return _IncStr;
            }
            set
            {
                OnIncStrChanging(value);
                ReportPropertyChanging("IncStr");
                _IncStr = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("IncStr");
                OnIncStrChanged();
            }
        }
        private global::System.Byte _IncStr;
        partial void OnIncStrChanging(global::System.Byte value);
        partial void OnIncStrChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte IncEnd
        {
            get
            {
                return _IncEnd;
            }
            set
            {
                OnIncEndChanging(value);
                ReportPropertyChanging("IncEnd");
                _IncEnd = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("IncEnd");
                OnIncEndChanged();
            }
        }
        private global::System.Byte _IncEnd;
        partial void OnIncEndChanging(global::System.Byte value);
        partial void OnIncEndChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte IncDex
        {
            get
            {
                return _IncDex;
            }
            set
            {
                OnIncDexChanging(value);
                ReportPropertyChanging("IncDex");
                _IncDex = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("IncDex");
                OnIncDexChanged();
            }
        }
        private global::System.Byte _IncDex;
        partial void OnIncDexChanging(global::System.Byte value);
        partial void OnIncDexChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte IncInt
        {
            get
            {
                return _IncInt;
            }
            set
            {
                OnIncIntChanging(value);
                ReportPropertyChanging("IncInt");
                _IncInt = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("IncInt");
                OnIncIntChanged();
            }
        }
        private global::System.Byte _IncInt;
        partial void OnIncIntChanging(global::System.Byte value);
        partial void OnIncIntChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte IncSpr
        {
            get
            {
                return _IncSpr;
            }
            set
            {
                OnIncSprChanging(value);
                ReportPropertyChanging("IncSpr");
                _IncSpr = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("IncSpr");
                OnIncSprChanged();
            }
        }
        private global::System.Byte _IncSpr;
        partial void OnIncSprChanging(global::System.Byte value);
        partial void OnIncSprChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.DateTime> Expires
        {
            get
            {
                return _Expires;
            }
            set
            {
                OnExpiresChanging(value);
                ReportPropertyChanging("Expires");
                _Expires = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Expires");
                OnExpiresChanged();
            }
        }
        private Nullable<global::System.DateTime> _Expires;
        partial void OnExpiresChanging(Nullable<global::System.DateTime> value);
        partial void OnExpiresChanged();

        #endregion
    
        #region Navigation Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("Data", "FK_Equip_Character", "Character")]
        public Character Character
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Character>("Data.FK_Equip_Character", "Character").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Character>("Data.FK_Equip_Character", "Character").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<Character> CharacterReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Character>("Data.FK_Equip_Character", "Character");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<Character>("Data.FK_Equip_Character", "Character", value);
                }
            }
        }

        #endregion
    }

    #endregion
    
}
