//------------------------------------------------------------------------------
// <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()]

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

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

        #endregion
    }
    

    #endregion
    
    #region Entities
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="TestowaBazaDanychModel", Name="Produkt")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    [KnownTypeAttribute(typeof(ProduktSpozywczy))]
    [KnownTypeAttribute(typeof(ProduktOdziezowy))]
    public partial class Produkt : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new Produkt object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="nazwa">Initial value of the Nazwa property.</param>
        public static Produkt CreateProdukt(global::System.Int32 id, global::System.String nazwa)
        {
            Produkt produkt = new Produkt();
            produkt.ID = id;
            produkt.Nazwa = nazwa;
            return produkt;
        }

        #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.String Nazwa
        {
            get
            {
                return _Nazwa;
            }
            set
            {
                OnNazwaChanging(value);
                ReportPropertyChanging("Nazwa");
                _Nazwa = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Nazwa");
                OnNazwaChanged();
            }
        }
        private global::System.String _Nazwa;
        partial void OnNazwaChanging(global::System.String value);
        partial void OnNazwaChanged();

        #endregion
    
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="TestowaBazaDanychModel", Name="ProduktOdziezowy")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class ProduktOdziezowy : Produkt
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new ProduktOdziezowy object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="nazwa">Initial value of the Nazwa property.</param>
        public static ProduktOdziezowy CreateProduktOdziezowy(global::System.Int32 id, global::System.String nazwa)
        {
            ProduktOdziezowy produktOdziezowy = new ProduktOdziezowy();
            produktOdziezowy.ID = id;
            produktOdziezowy.Nazwa = nazwa;
            return produktOdziezowy;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.Int32> Rozmiar
        {
            get
            {
                return _Rozmiar;
            }
            set
            {
                OnRozmiarChanging(value);
                ReportPropertyChanging("Rozmiar");
                _Rozmiar = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Rozmiar");
                OnRozmiarChanged();
            }
        }
        private Nullable<global::System.Int32> _Rozmiar;
        partial void OnRozmiarChanging(Nullable<global::System.Int32> value);
        partial void OnRozmiarChanged();

        #endregion
    
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="TestowaBazaDanychModel", Name="ProduktSpozywczy")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class ProduktSpozywczy : Produkt
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new ProduktSpozywczy object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="nazwa">Initial value of the Nazwa property.</param>
        public static ProduktSpozywczy CreateProduktSpozywczy(global::System.Int32 id, global::System.String nazwa)
        {
            ProduktSpozywczy produktSpozywczy = new ProduktSpozywczy();
            produktSpozywczy.ID = id;
            produktSpozywczy.Nazwa = nazwa;
            return produktSpozywczy;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.Int32> Waga
        {
            get
            {
                return _Waga;
            }
            set
            {
                OnWagaChanging(value);
                ReportPropertyChanging("Waga");
                _Waga = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("Waga");
                OnWagaChanged();
            }
        }
        private Nullable<global::System.Int32> _Waga;
        partial void OnWagaChanging(Nullable<global::System.Int32> value);
        partial void OnWagaChanged();

        #endregion
    
    }

    #endregion
    
}
