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

        #endregion

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

        #endregion

    }

    #endregion

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

        #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 email
        {
            get
            {
                return _email;
            }
            set
            {
                OnemailChanging(value);
                ReportPropertyChanging("email");
                _email = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("email");
                OnemailChanged();
            }
        }
        private global::System.String _email;
        partial void OnemailChanging(global::System.String value);
        partial void OnemailChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String hashed_password
        {
            get
            {
                return _hashed_password;
            }
            set
            {
                Onhashed_passwordChanging(value);
                ReportPropertyChanging("hashed_password");
                _hashed_password = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("hashed_password");
                Onhashed_passwordChanged();
            }
        }
        private global::System.String _hashed_password;
        partial void Onhashed_passwordChanging(global::System.String value);
        partial void Onhashed_passwordChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.DateTime> created_at
        {
            get
            {
                return _created_at;
            }
            set
            {
                Oncreated_atChanging(value);
                ReportPropertyChanging("created_at");
                _created_at = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("created_at");
                Oncreated_atChanged();
            }
        }
        private Nullable<global::System.DateTime> _created_at;
        partial void Oncreated_atChanging(Nullable<global::System.DateTime> value);
        partial void Oncreated_atChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.DateTime> updated_at
        {
            get
            {
                return _updated_at;
            }
            set
            {
                Onupdated_atChanging(value);
                ReportPropertyChanging("updated_at");
                _updated_at = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("updated_at");
                Onupdated_atChanged();
            }
        }
        private Nullable<global::System.DateTime> _updated_at;
        partial void Onupdated_atChanging(Nullable<global::System.DateTime> value);
        partial void Onupdated_atChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.Boolean> active
        {
            get
            {
                return _active;
            }
            set
            {
                OnactiveChanging(value);
                ReportPropertyChanging("active");
                _active = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("active");
                OnactiveChanged();
            }
        }
        private Nullable<global::System.Boolean> _active;
        partial void OnactiveChanging(Nullable<global::System.Boolean> value);
        partial void OnactiveChanged();

        #endregion

    
    }

    #endregion

    
}
