//------------------------------------------------------------------------------
// <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.ComponentModel;
using System.Data.EntityClient;
using System.Data.Objects;
using System.Data.Objects.DataClasses;
using System.Linq;
using System.Runtime.Serialization;
using System.Xml.Serialization;

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

[assembly: EdmRelationshipAttribute("Solar.Database", "FK_Equip_Character", "Character", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(Solar.Database.Character), "Equip", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(Solar.Database.DatabaseEquip), true)]
[assembly: EdmRelationshipAttribute("Solar.Database", "FK_Item_Character1", "Character", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(Solar.Database.Character), "Item", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(Solar.Database.DatabaseItem), true)]
[assembly: EdmRelationshipAttribute("Solar.Database", "FK_Skills_Character", "Character", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(Solar.Database.Character), "Skill", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(Solar.Database.DatabaseSkill), true)]
[assembly: EdmRelationshipAttribute("Solar.Database", "FK_Character_Guild", "Guild", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(Solar.Database.Guild), "Character", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(Solar.Database.Character), true)]

#endregion

namespace Solar.Database
{
    #region Contexts
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    public partial class WorldEntity : ObjectContext
    {
        #region Constructors
    
        /// <summary>
        /// Initializes a new WorldEntity object using the connection string found in the 'WorldEntity' section of the application configuration file.
        /// </summary>
        public WorldEntity() : base("name=WorldEntity", "WorldEntity")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        /// <summary>
        /// Initialize a new WorldEntity object.
        /// </summary>
        public WorldEntity(string connectionString) : base(connectionString, "WorldEntity")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        /// <summary>
        /// Initialize a new WorldEntity object.
        /// </summary>
        public WorldEntity(EntityConnection connection) : base(connection, "WorldEntity")
        {
            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<DatabaseEquip> DatabaseEquips
        {
            get
            {
                if ((_DatabaseEquips == null))
                {
                    _DatabaseEquips = base.CreateObjectSet<DatabaseEquip>("DatabaseEquips");
                }
                return _DatabaseEquips;
            }
        }
        private ObjectSet<DatabaseEquip> _DatabaseEquips;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<DatabaseItem> DatabaseItems
        {
            get
            {
                if ((_DatabaseItems == null))
                {
                    _DatabaseItems = base.CreateObjectSet<DatabaseItem>("DatabaseItems");
                }
                return _DatabaseItems;
            }
        }
        private ObjectSet<DatabaseItem> _DatabaseItems;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<DatabaseSkill> DatabaseSkills
        {
            get
            {
                if ((_DatabaseSkills == null))
                {
                    _DatabaseSkills = base.CreateObjectSet<DatabaseSkill>("DatabaseSkills");
                }
                return _DatabaseSkills;
            }
        }
        private ObjectSet<DatabaseSkill> _DatabaseSkills;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<Guild> Guilds
        {
            get
            {
                if ((_Guilds == null))
                {
                    _Guilds = base.CreateObjectSet<Guild>("Guilds");
                }
                return _Guilds;
            }
        }
        private ObjectSet<Guild> _Guilds;

        #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 DatabaseEquips EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToDatabaseEquips(DatabaseEquip databaseEquip)
        {
            base.AddObject("DatabaseEquips", databaseEquip);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the DatabaseItems EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToDatabaseItems(DatabaseItem databaseItem)
        {
            base.AddObject("DatabaseItems", databaseItem);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the DatabaseSkills EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToDatabaseSkills(DatabaseSkill databaseSkill)
        {
            base.AddObject("DatabaseSkills", databaseSkill);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Guilds EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToGuilds(Guild guild)
        {
            base.AddObject("Guilds", guild);
        }

        #endregion

    }

    #endregion

    #region Entities
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="Solar.Database", 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="hPStones">Initial value of the HPStones property.</param>
        /// <param name="sPStones">Initial value of the SPStones property.</param>
        /// <param name="exp">Initial value of the Exp property.</param>
        /// <param name="fame">Initial value of the Fame 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>
        /// <param name="usablePoints">Initial value of the UsablePoints 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.Int16 hPStones, global::System.Int16 sPStones, global::System.Int64 exp, global::System.Int32 fame, 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, global::System.Byte usablePoints)
        {
            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.HPStones = hPStones;
            character.SPStones = sPStones;
            character.Exp = exp;
            character.Fame = fame;
            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;
            character.UsablePoints = usablePoints;
            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.Int16 HPStones
        {
            get
            {
                return _HPStones;
            }
            set
            {
                OnHPStonesChanging(value);
                ReportPropertyChanging("HPStones");
                _HPStones = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("HPStones");
                OnHPStonesChanged();
            }
        }
        private global::System.Int16 _HPStones;
        partial void OnHPStonesChanging(global::System.Int16 value);
        partial void OnHPStonesChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int16 SPStones
        {
            get
            {
                return _SPStones;
            }
            set
            {
                OnSPStonesChanging(value);
                ReportPropertyChanging("SPStones");
                _SPStones = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("SPStones");
                OnSPStonesChanged();
            }
        }
        private global::System.Int16 _SPStones;
        partial void OnSPStonesChanging(global::System.Int16 value);
        partial void OnSPStonesChanged();
    
        /// <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.Int32 Fame
        {
            get
            {
                return _Fame;
            }
            set
            {
                OnFameChanging(value);
                ReportPropertyChanging("Fame");
                _Fame = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Fame");
                OnFameChanged();
            }
        }
        private global::System.Int32 _Fame;
        partial void OnFameChanging(global::System.Int32 value);
        partial void OnFameChanged();
    
        /// <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();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.Byte[] GameSettings
        {
            get
            {
                return StructuralObject.GetValidValue(_GameSettings);
            }
            set
            {
                OnGameSettingsChanging(value);
                ReportPropertyChanging("GameSettings");
                _GameSettings = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("GameSettings");
                OnGameSettingsChanged();
            }
        }
        private global::System.Byte[] _GameSettings;
        partial void OnGameSettingsChanging(global::System.Byte[] value);
        partial void OnGameSettingsChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.Byte[] ClientSettings
        {
            get
            {
                return StructuralObject.GetValidValue(_ClientSettings);
            }
            set
            {
                OnClientSettingsChanging(value);
                ReportPropertyChanging("ClientSettings");
                _ClientSettings = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("ClientSettings");
                OnClientSettingsChanged();
            }
        }
        private global::System.Byte[] _ClientSettings;
        partial void OnClientSettingsChanging(global::System.Byte[] value);
        partial void OnClientSettingsChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte UsablePoints
        {
            get
            {
                return _UsablePoints;
            }
            set
            {
                OnUsablePointsChanging(value);
                ReportPropertyChanging("UsablePoints");
                _UsablePoints = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("UsablePoints");
                OnUsablePointsChanged();
            }
        }
        private global::System.Byte _UsablePoints;
        partial void OnUsablePointsChanging(global::System.Byte value);
        partial void OnUsablePointsChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.Int32> GuildID
        {
            get
            {
                return _GuildID;
            }
            set
            {
                OnGuildIDChanging(value);
                ReportPropertyChanging("GuildID");
                _GuildID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("GuildID");
                OnGuildIDChanged();
            }
        }
        private Nullable<global::System.Int32> _GuildID;
        partial void OnGuildIDChanging(Nullable<global::System.Int32> value);
        partial void OnGuildIDChanged();

        #endregion

    
        #region Navigation Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("Solar.Database", "FK_Equip_Character", "Equip")]
        public EntityCollection<DatabaseEquip> Equips
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<DatabaseEquip>("Solar.Database.FK_Equip_Character", "Equip");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<DatabaseEquip>("Solar.Database.FK_Equip_Character", "Equip", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("Solar.Database", "FK_Item_Character1", "Item")]
        public EntityCollection<DatabaseItem> Items
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<DatabaseItem>("Solar.Database.FK_Item_Character1", "Item");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<DatabaseItem>("Solar.Database.FK_Item_Character1", "Item", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("Solar.Database", "FK_Skills_Character", "Skill")]
        public EntityCollection<DatabaseSkill> Skills
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<DatabaseSkill>("Solar.Database.FK_Skills_Character", "Skill");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<DatabaseSkill>("Solar.Database.FK_Skills_Character", "Skill", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("Solar.Database", "FK_Character_Guild", "Guild")]
        public Guild Guild
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Guild>("Solar.Database.FK_Character_Guild", "Guild").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Guild>("Solar.Database.FK_Character_Guild", "Guild").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<Guild> GuildReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Guild>("Solar.Database.FK_Character_Guild", "Guild");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<Guild>("Solar.Database.FK_Character_Guild", "Guild", value);
                }
            }
        }

        #endregion

    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="Solar.Database", Name="DatabaseEquip")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class DatabaseEquip : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new DatabaseEquip 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 DatabaseEquip CreateDatabaseEquip(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)
        {
            DatabaseEquip databaseEquip = new DatabaseEquip();
            databaseEquip.ID = id;
            databaseEquip.Owner = owner;
            databaseEquip.Slot = slot;
            databaseEquip.EquipID = equipID;
            databaseEquip.Upgrades = upgrades;
            databaseEquip.IncStr = incStr;
            databaseEquip.IncEnd = incEnd;
            databaseEquip.IncDex = incDex;
            databaseEquip.IncInt = incInt;
            databaseEquip.IncSpr = incSpr;
            return databaseEquip;
        }

        #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("Solar.Database", "FK_Equip_Character", "Character")]
        public Character Character
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Character>("Solar.Database.FK_Equip_Character", "Character").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Character>("Solar.Database.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>("Solar.Database.FK_Equip_Character", "Character");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<Character>("Solar.Database.FK_Equip_Character", "Character", value);
                }
            }
        }

        #endregion

    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="Solar.Database", Name="DatabaseItem")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class DatabaseItem : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new DatabaseItem object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="owner">Initial value of the Owner property.</param>
        /// <param name="objectID">Initial value of the ObjectID property.</param>
        /// <param name="slot">Initial value of the Slot property.</param>
        /// <param name="amount">Initial value of the Amount property.</param>
        public static DatabaseItem CreateDatabaseItem(global::System.Int32 id, global::System.Int32 owner, global::System.Int32 objectID, global::System.Int16 slot, global::System.Int16 amount)
        {
            DatabaseItem databaseItem = new DatabaseItem();
            databaseItem.ID = id;
            databaseItem.Owner = owner;
            databaseItem.ObjectID = objectID;
            databaseItem.Slot = slot;
            databaseItem.Amount = amount;
            return databaseItem;
        }

        #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.Int32 ObjectID
        {
            get
            {
                return _ObjectID;
            }
            set
            {
                OnObjectIDChanging(value);
                ReportPropertyChanging("ObjectID");
                _ObjectID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ObjectID");
                OnObjectIDChanged();
            }
        }
        private global::System.Int32 _ObjectID;
        partial void OnObjectIDChanging(global::System.Int32 value);
        partial void OnObjectIDChanged();
    
        /// <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.Int16 Amount
        {
            get
            {
                return _Amount;
            }
            set
            {
                OnAmountChanging(value);
                ReportPropertyChanging("Amount");
                _Amount = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Amount");
                OnAmountChanged();
            }
        }
        private global::System.Int16 _Amount;
        partial void OnAmountChanging(global::System.Int16 value);
        partial void OnAmountChanged();

        #endregion

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

        #endregion

    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="Solar.Database", Name="DatabaseSkill")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class DatabaseSkill : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new DatabaseSkill object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="owner">Initial value of the Owner property.</param>
        /// <param name="skillID">Initial value of the SkillID property.</param>
        /// <param name="upgrades">Initial value of the Upgrades property.</param>
        /// <param name="isPassive">Initial value of the IsPassive property.</param>
        public static DatabaseSkill CreateDatabaseSkill(global::System.Int32 id, global::System.Int32 owner, global::System.Int16 skillID, global::System.Int16 upgrades, global::System.Boolean isPassive)
        {
            DatabaseSkill databaseSkill = new DatabaseSkill();
            databaseSkill.ID = id;
            databaseSkill.Owner = owner;
            databaseSkill.SkillID = skillID;
            databaseSkill.Upgrades = upgrades;
            databaseSkill.IsPassive = isPassive;
            return databaseSkill;
        }

        #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 SkillID
        {
            get
            {
                return _SkillID;
            }
            set
            {
                OnSkillIDChanging(value);
                ReportPropertyChanging("SkillID");
                _SkillID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("SkillID");
                OnSkillIDChanged();
            }
        }
        private global::System.Int16 _SkillID;
        partial void OnSkillIDChanging(global::System.Int16 value);
        partial void OnSkillIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int16 Upgrades
        {
            get
            {
                return _Upgrades;
            }
            set
            {
                OnUpgradesChanging(value);
                ReportPropertyChanging("Upgrades");
                _Upgrades = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Upgrades");
                OnUpgradesChanged();
            }
        }
        private global::System.Int16 _Upgrades;
        partial void OnUpgradesChanging(global::System.Int16 value);
        partial void OnUpgradesChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Boolean IsPassive
        {
            get
            {
                return _IsPassive;
            }
            set
            {
                OnIsPassiveChanging(value);
                ReportPropertyChanging("IsPassive");
                _IsPassive = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("IsPassive");
                OnIsPassiveChanged();
            }
        }
        private global::System.Boolean _IsPassive;
        partial void OnIsPassiveChanging(global::System.Boolean value);
        partial void OnIsPassiveChanged();

        #endregion

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

        #endregion

    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="Solar.Database", Name="Guild")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class Guild : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new Guild object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        public static Guild CreateGuild(global::System.Int32 id)
        {
            Guild guild = new Guild();
            guild.ID = id;
            return guild;
        }

        #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=true)]
        [DataMemberAttribute()]
        public global::System.String Name
        {
            get
            {
                return _Name;
            }
            set
            {
                OnNameChanging(value);
                ReportPropertyChanging("Name");
                _Name = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("Name");
                OnNameChanged();
            }
        }
        private global::System.String _Name;
        partial void OnNameChanging(global::System.String value);
        partial void OnNameChanged();

        #endregion

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

        #endregion

    }

    #endregion

    
}
