//------------------------------------------------------------------------------
// <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("TaskItModel", "FK_ContactNote_Contact", "Contact", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(TaskIt.Web.Models.Contact), "ContactNote", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(TaskIt.Web.Models.ContactNote), true)]
[assembly: EdmRelationshipAttribute("TaskItModel", "FK_Task_Contact", "Contact", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(TaskIt.Web.Models.Contact), "Task", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(TaskIt.Web.Models.Task), true)]
[assembly: EdmRelationshipAttribute("TaskItModel", "FK_ContactNote_User", "TaskItUser", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(TaskIt.Web.Models.TaskItUser), "ContactNote", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(TaskIt.Web.Models.ContactNote), true)]
[assembly: EdmRelationshipAttribute("TaskItModel", "FK_ContextNote_Context", "Context", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(TaskIt.Web.Models.Context), "ContextNote", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(TaskIt.Web.Models.ContextNote), true)]
[assembly: EdmRelationshipAttribute("TaskItModel", "FK_Task_Context", "Context", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(TaskIt.Web.Models.Context), "Task", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(TaskIt.Web.Models.Task), true)]
[assembly: EdmRelationshipAttribute("TaskItModel", "FK_ContextNote_User", "TaskItUser", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(TaskIt.Web.Models.TaskItUser), "ContextNote", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(TaskIt.Web.Models.ContextNote), true)]
[assembly: EdmRelationshipAttribute("TaskItModel", "FK_Priority_Priority1", "Priority", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(TaskIt.Web.Models.Priority), "Priority1", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(TaskIt.Web.Models.Priority), true)]
[assembly: EdmRelationshipAttribute("TaskItModel", "FK_Task_Priority", "Priority", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(TaskIt.Web.Models.Priority), "Task", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(TaskIt.Web.Models.Task), true)]
[assembly: EdmRelationshipAttribute("TaskItModel", "FK_ProjectNote_Project", "Project", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(TaskIt.Web.Models.Project), "ProjectNote", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(TaskIt.Web.Models.ProjectNote), true)]
[assembly: EdmRelationshipAttribute("TaskItModel", "FK_Task_Project", "Project", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(TaskIt.Web.Models.Project), "Task", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(TaskIt.Web.Models.Task), true)]
[assembly: EdmRelationshipAttribute("TaskItModel", "FK_ProjectNote_User", "TaskItUser", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(TaskIt.Web.Models.TaskItUser), "ProjectNote", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(TaskIt.Web.Models.ProjectNote), true)]
[assembly: EdmRelationshipAttribute("TaskItModel", "FK_TaskCategory_Task", "TaskCategory", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(TaskIt.Web.Models.TaskCategory), "Task", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(TaskIt.Web.Models.Task), true)]
[assembly: EdmRelationshipAttribute("TaskItModel", "FK_TaskNote_Task", "Task", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(TaskIt.Web.Models.Task), "TaskNote", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(TaskIt.Web.Models.TaskNote), true)]
[assembly: EdmRelationshipAttribute("TaskItModel", "FK_TaskNote_User", "TaskItUser", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(TaskIt.Web.Models.TaskItUser), "TaskNote", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(TaskIt.Web.Models.TaskNote), true)]

#endregion

namespace TaskIt.Web.Models
{
    #region Contexts
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    public partial class TaskItEntities : ObjectContext
    {
        #region Constructors
    
        /// <summary>
        /// Initializes a new TaskItEntities object using the connection string found in the 'TaskItEntities' section of the application configuration file.
        /// </summary>
        public TaskItEntities() : base("name=TaskItEntities", "TaskItEntities")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        /// <summary>
        /// Initialize a new TaskItEntities object.
        /// </summary>
        public TaskItEntities(string connectionString) : base(connectionString, "TaskItEntities")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        /// <summary>
        /// Initialize a new TaskItEntities object.
        /// </summary>
        public TaskItEntities(EntityConnection connection) : base(connection, "TaskItEntities")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        #endregion
    
        #region Partial Methods
    
        partial void OnContextCreated();
    
        #endregion
    
        #region ObjectSet Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<Contact> Contacts
        {
            get
            {
                if ((_Contacts == null))
                {
                    _Contacts = base.CreateObjectSet<Contact>("Contacts");
                }
                return _Contacts;
            }
        }
        private ObjectSet<Contact> _Contacts;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<ContactNote> ContactNotes
        {
            get
            {
                if ((_ContactNotes == null))
                {
                    _ContactNotes = base.CreateObjectSet<ContactNote>("ContactNotes");
                }
                return _ContactNotes;
            }
        }
        private ObjectSet<ContactNote> _ContactNotes;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<Context> Contexts
        {
            get
            {
                if ((_Contexts == null))
                {
                    _Contexts = base.CreateObjectSet<Context>("Contexts");
                }
                return _Contexts;
            }
        }
        private ObjectSet<Context> _Contexts;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<ContextNote> ContextNotes
        {
            get
            {
                if ((_ContextNotes == null))
                {
                    _ContextNotes = base.CreateObjectSet<ContextNote>("ContextNotes");
                }
                return _ContextNotes;
            }
        }
        private ObjectSet<ContextNote> _ContextNotes;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<Priority> Priorities
        {
            get
            {
                if ((_Priorities == null))
                {
                    _Priorities = base.CreateObjectSet<Priority>("Priorities");
                }
                return _Priorities;
            }
        }
        private ObjectSet<Priority> _Priorities;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<Project> Projects
        {
            get
            {
                if ((_Projects == null))
                {
                    _Projects = base.CreateObjectSet<Project>("Projects");
                }
                return _Projects;
            }
        }
        private ObjectSet<Project> _Projects;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<ProjectNote> ProjectNotes
        {
            get
            {
                if ((_ProjectNotes == null))
                {
                    _ProjectNotes = base.CreateObjectSet<ProjectNote>("ProjectNotes");
                }
                return _ProjectNotes;
            }
        }
        private ObjectSet<ProjectNote> _ProjectNotes;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<Task> Tasks
        {
            get
            {
                if ((_Tasks == null))
                {
                    _Tasks = base.CreateObjectSet<Task>("Tasks");
                }
                return _Tasks;
            }
        }
        private ObjectSet<Task> _Tasks;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<TaskCategory> TaskCategories
        {
            get
            {
                if ((_TaskCategories == null))
                {
                    _TaskCategories = base.CreateObjectSet<TaskCategory>("TaskCategories");
                }
                return _TaskCategories;
            }
        }
        private ObjectSet<TaskCategory> _TaskCategories;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<TaskItUser> TaskItUsers
        {
            get
            {
                if ((_TaskItUsers == null))
                {
                    _TaskItUsers = base.CreateObjectSet<TaskItUser>("TaskItUsers");
                }
                return _TaskItUsers;
            }
        }
        private ObjectSet<TaskItUser> _TaskItUsers;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<TaskNote> TaskNotes
        {
            get
            {
                if ((_TaskNotes == null))
                {
                    _TaskNotes = base.CreateObjectSet<TaskNote>("TaskNotes");
                }
                return _TaskNotes;
            }
        }
        private ObjectSet<TaskNote> _TaskNotes;

        #endregion
        #region AddTo Methods
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Contacts EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToContacts(Contact contact)
        {
            base.AddObject("Contacts", contact);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the ContactNotes EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToContactNotes(ContactNote contactNote)
        {
            base.AddObject("ContactNotes", contactNote);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Contexts EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToContexts(Context context)
        {
            base.AddObject("Contexts", context);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the ContextNotes EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToContextNotes(ContextNote contextNote)
        {
            base.AddObject("ContextNotes", contextNote);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Priorities EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToPriorities(Priority priority)
        {
            base.AddObject("Priorities", priority);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Projects EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToProjects(Project project)
        {
            base.AddObject("Projects", project);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the ProjectNotes EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToProjectNotes(ProjectNote projectNote)
        {
            base.AddObject("ProjectNotes", projectNote);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Tasks EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToTasks(Task task)
        {
            base.AddObject("Tasks", task);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the TaskCategories EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToTaskCategories(TaskCategory taskCategory)
        {
            base.AddObject("TaskCategories", taskCategory);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the TaskItUsers EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToTaskItUsers(TaskItUser taskItUser)
        {
            base.AddObject("TaskItUsers", taskItUser);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the TaskNotes EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToTaskNotes(TaskNote taskNote)
        {
            base.AddObject("TaskNotes", taskNote);
        }

        #endregion
    }
    

    #endregion
    
    #region Entities
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="TaskItModel", Name="Contact")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class Contact : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new Contact object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="name">Initial value of the Name property.</param>
        /// <param name="userID">Initial value of the UserID property.</param>
        /// <param name="createdDate">Initial value of the CreatedDate property.</param>
        /// <param name="modifiedDate">Initial value of the ModifiedDate property.</param>
        public static Contact CreateContact(global::System.Int64 id, global::System.String name, global::System.Int64 userID, global::System.DateTime createdDate, global::System.DateTime modifiedDate)
        {
            Contact contact = new Contact();
            contact.ID = id;
            contact.Name = name;
            contact.UserID = userID;
            contact.CreatedDate = createdDate;
            contact.ModifiedDate = modifiedDate;
            return contact;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Int64 _ID;
        partial void OnIDChanging(global::System.Int64 value);
        partial void OnIDChanged();
    
        /// <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=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 Username
        {
            get
            {
                return _Username;
            }
            set
            {
                OnUsernameChanging(value);
                ReportPropertyChanging("Username");
                _Username = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("Username");
                OnUsernameChanged();
            }
        }
        private global::System.String _Username;
        partial void OnUsernameChanging(global::System.String value);
        partial void OnUsernameChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 UserID
        {
            get
            {
                return _UserID;
            }
            set
            {
                OnUserIDChanging(value);
                ReportPropertyChanging("UserID");
                _UserID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("UserID");
                OnUserIDChanged();
            }
        }
        private global::System.Int64 _UserID;
        partial void OnUserIDChanging(global::System.Int64 value);
        partial void OnUserIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime CreatedDate
        {
            get
            {
                return _CreatedDate;
            }
            set
            {
                OnCreatedDateChanging(value);
                ReportPropertyChanging("CreatedDate");
                _CreatedDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("CreatedDate");
                OnCreatedDateChanged();
            }
        }
        private global::System.DateTime _CreatedDate;
        partial void OnCreatedDateChanging(global::System.DateTime value);
        partial void OnCreatedDateChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return _ModifiedDate;
            }
            set
            {
                OnModifiedDateChanging(value);
                ReportPropertyChanging("ModifiedDate");
                _ModifiedDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ModifiedDate");
                OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();

        #endregion
    
        #region Navigation Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_ContactNote_Contact", "ContactNote")]
        public EntityCollection<ContactNote> ContactNotes
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<ContactNote>("TaskItModel.FK_ContactNote_Contact", "ContactNote");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<ContactNote>("TaskItModel.FK_ContactNote_Contact", "ContactNote", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_Task_Contact", "Task")]
        public EntityCollection<Task> Tasks
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<Task>("TaskItModel.FK_Task_Contact", "Task");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<Task>("TaskItModel.FK_Task_Contact", "Task", value);
                }
            }
        }

        #endregion
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="TaskItModel", Name="ContactNote")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class ContactNote : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new ContactNote object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="text">Initial value of the Text property.</param>
        /// <param name="contactID">Initial value of the ContactID property.</param>
        /// <param name="userID">Initial value of the UserID property.</param>
        /// <param name="createdDate">Initial value of the CreatedDate property.</param>
        public static ContactNote CreateContactNote(global::System.Int64 id, global::System.String text, global::System.Int64 contactID, global::System.Int64 userID, global::System.DateTime createdDate)
        {
            ContactNote contactNote = new ContactNote();
            contactNote.ID = id;
            contactNote.Text = text;
            contactNote.ContactID = contactID;
            contactNote.UserID = userID;
            contactNote.CreatedDate = createdDate;
            return contactNote;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Int64 _ID;
        partial void OnIDChanging(global::System.Int64 value);
        partial void OnIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Text
        {
            get
            {
                return _Text;
            }
            set
            {
                OnTextChanging(value);
                ReportPropertyChanging("Text");
                _Text = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Text");
                OnTextChanged();
            }
        }
        private global::System.String _Text;
        partial void OnTextChanging(global::System.String value);
        partial void OnTextChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ContactID
        {
            get
            {
                return _ContactID;
            }
            set
            {
                OnContactIDChanging(value);
                ReportPropertyChanging("ContactID");
                _ContactID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ContactID");
                OnContactIDChanged();
            }
        }
        private global::System.Int64 _ContactID;
        partial void OnContactIDChanging(global::System.Int64 value);
        partial void OnContactIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 UserID
        {
            get
            {
                return _UserID;
            }
            set
            {
                OnUserIDChanging(value);
                ReportPropertyChanging("UserID");
                _UserID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("UserID");
                OnUserIDChanged();
            }
        }
        private global::System.Int64 _UserID;
        partial void OnUserIDChanging(global::System.Int64 value);
        partial void OnUserIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime CreatedDate
        {
            get
            {
                return _CreatedDate;
            }
            set
            {
                OnCreatedDateChanging(value);
                ReportPropertyChanging("CreatedDate");
                _CreatedDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("CreatedDate");
                OnCreatedDateChanged();
            }
        }
        private global::System.DateTime _CreatedDate;
        partial void OnCreatedDateChanging(global::System.DateTime value);
        partial void OnCreatedDateChanged();

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

        #endregion
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="TaskItModel", Name="Context")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class Context : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new Context object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="name">Initial value of the Name property.</param>
        /// <param name="userID">Initial value of the UserID property.</param>
        /// <param name="createdDate">Initial value of the CreatedDate property.</param>
        /// <param name="modifiedDate">Initial value of the ModifiedDate property.</param>
        public static Context CreateContext(global::System.Int64 id, global::System.String name, global::System.Int64 userID, global::System.DateTime createdDate, global::System.DateTime modifiedDate)
        {
            Context context = new Context();
            context.ID = id;
            context.Name = name;
            context.UserID = userID;
            context.CreatedDate = createdDate;
            context.ModifiedDate = modifiedDate;
            return context;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Int64 _ID;
        partial void OnIDChanging(global::System.Int64 value);
        partial void OnIDChanged();
    
        /// <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.Int64 UserID
        {
            get
            {
                return _UserID;
            }
            set
            {
                OnUserIDChanging(value);
                ReportPropertyChanging("UserID");
                _UserID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("UserID");
                OnUserIDChanged();
            }
        }
        private global::System.Int64 _UserID;
        partial void OnUserIDChanging(global::System.Int64 value);
        partial void OnUserIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime CreatedDate
        {
            get
            {
                return _CreatedDate;
            }
            set
            {
                OnCreatedDateChanging(value);
                ReportPropertyChanging("CreatedDate");
                _CreatedDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("CreatedDate");
                OnCreatedDateChanged();
            }
        }
        private global::System.DateTime _CreatedDate;
        partial void OnCreatedDateChanging(global::System.DateTime value);
        partial void OnCreatedDateChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return _ModifiedDate;
            }
            set
            {
                OnModifiedDateChanging(value);
                ReportPropertyChanging("ModifiedDate");
                _ModifiedDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ModifiedDate");
                OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();

        #endregion
    
        #region Navigation Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_ContextNote_Context", "ContextNote")]
        public EntityCollection<ContextNote> ContextNotes
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<ContextNote>("TaskItModel.FK_ContextNote_Context", "ContextNote");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<ContextNote>("TaskItModel.FK_ContextNote_Context", "ContextNote", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_Task_Context", "Task")]
        public EntityCollection<Task> Tasks
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<Task>("TaskItModel.FK_Task_Context", "Task");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<Task>("TaskItModel.FK_Task_Context", "Task", value);
                }
            }
        }

        #endregion
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="TaskItModel", Name="ContextNote")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class ContextNote : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new ContextNote object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="text">Initial value of the Text property.</param>
        /// <param name="contextID">Initial value of the ContextID property.</param>
        /// <param name="userID">Initial value of the UserID property.</param>
        /// <param name="createdDate">Initial value of the CreatedDate property.</param>
        public static ContextNote CreateContextNote(global::System.Int64 id, global::System.String text, global::System.Int64 contextID, global::System.Int64 userID, global::System.DateTime createdDate)
        {
            ContextNote contextNote = new ContextNote();
            contextNote.ID = id;
            contextNote.Text = text;
            contextNote.ContextID = contextID;
            contextNote.UserID = userID;
            contextNote.CreatedDate = createdDate;
            return contextNote;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Int64 _ID;
        partial void OnIDChanging(global::System.Int64 value);
        partial void OnIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Text
        {
            get
            {
                return _Text;
            }
            set
            {
                OnTextChanging(value);
                ReportPropertyChanging("Text");
                _Text = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Text");
                OnTextChanged();
            }
        }
        private global::System.String _Text;
        partial void OnTextChanging(global::System.String value);
        partial void OnTextChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ContextID
        {
            get
            {
                return _ContextID;
            }
            set
            {
                OnContextIDChanging(value);
                ReportPropertyChanging("ContextID");
                _ContextID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ContextID");
                OnContextIDChanged();
            }
        }
        private global::System.Int64 _ContextID;
        partial void OnContextIDChanging(global::System.Int64 value);
        partial void OnContextIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 UserID
        {
            get
            {
                return _UserID;
            }
            set
            {
                OnUserIDChanging(value);
                ReportPropertyChanging("UserID");
                _UserID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("UserID");
                OnUserIDChanged();
            }
        }
        private global::System.Int64 _UserID;
        partial void OnUserIDChanging(global::System.Int64 value);
        partial void OnUserIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime CreatedDate
        {
            get
            {
                return _CreatedDate;
            }
            set
            {
                OnCreatedDateChanging(value);
                ReportPropertyChanging("CreatedDate");
                _CreatedDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("CreatedDate");
                OnCreatedDateChanged();
            }
        }
        private global::System.DateTime _CreatedDate;
        partial void OnCreatedDateChanging(global::System.DateTime value);
        partial void OnCreatedDateChanged();

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

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

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Int64 _ID;
        partial void OnIDChanging(global::System.Int64 value);
        partial void OnIDChanged();
    
        /// <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();

        #endregion
    
        #region Navigation Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_Priority_Priority1", "Priority1")]
        public Priority Priority1
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Priority>("TaskItModel.FK_Priority_Priority1", "Priority1").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Priority>("TaskItModel.FK_Priority_Priority1", "Priority1").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<Priority> Priority1Reference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Priority>("TaskItModel.FK_Priority_Priority1", "Priority1");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<Priority>("TaskItModel.FK_Priority_Priority1", "Priority1", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_Priority_Priority1", "Priority")]
        public Priority Priority2
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Priority>("TaskItModel.FK_Priority_Priority1", "Priority").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Priority>("TaskItModel.FK_Priority_Priority1", "Priority").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<Priority> Priority2Reference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Priority>("TaskItModel.FK_Priority_Priority1", "Priority");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<Priority>("TaskItModel.FK_Priority_Priority1", "Priority", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_Task_Priority", "Task")]
        public EntityCollection<Task> Tasks
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<Task>("TaskItModel.FK_Task_Priority", "Task");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<Task>("TaskItModel.FK_Task_Priority", "Task", value);
                }
            }
        }

        #endregion
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="TaskItModel", Name="Project")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class Project : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new Project object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="name">Initial value of the Name property.</param>
        /// <param name="userID">Initial value of the UserID property.</param>
        /// <param name="createdDate">Initial value of the CreatedDate property.</param>
        /// <param name="modifiedDate">Initial value of the ModifiedDate property.</param>
        public static Project CreateProject(global::System.Int64 id, global::System.String name, global::System.Int64 userID, global::System.DateTime createdDate, global::System.DateTime modifiedDate)
        {
            Project project = new Project();
            project.ID = id;
            project.Name = name;
            project.UserID = userID;
            project.CreatedDate = createdDate;
            project.ModifiedDate = modifiedDate;
            return project;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Int64 _ID;
        partial void OnIDChanging(global::System.Int64 value);
        partial void OnIDChanged();
    
        /// <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=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.Int64> ParentID
        {
            get
            {
                return _ParentID;
            }
            set
            {
                OnParentIDChanging(value);
                ReportPropertyChanging("ParentID");
                _ParentID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ParentID");
                OnParentIDChanged();
            }
        }
        private Nullable<global::System.Int64> _ParentID;
        partial void OnParentIDChanging(Nullable<global::System.Int64> value);
        partial void OnParentIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.DateTime> DueDate
        {
            get
            {
                return _DueDate;
            }
            set
            {
                OnDueDateChanging(value);
                ReportPropertyChanging("DueDate");
                _DueDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("DueDate");
                OnDueDateChanged();
            }
        }
        private Nullable<global::System.DateTime> _DueDate;
        partial void OnDueDateChanging(Nullable<global::System.DateTime> value);
        partial void OnDueDateChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.DateTime> CompletionDate
        {
            get
            {
                return _CompletionDate;
            }
            set
            {
                OnCompletionDateChanging(value);
                ReportPropertyChanging("CompletionDate");
                _CompletionDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("CompletionDate");
                OnCompletionDateChanged();
            }
        }
        private Nullable<global::System.DateTime> _CompletionDate;
        partial void OnCompletionDateChanging(Nullable<global::System.DateTime> value);
        partial void OnCompletionDateChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 UserID
        {
            get
            {
                return _UserID;
            }
            set
            {
                OnUserIDChanging(value);
                ReportPropertyChanging("UserID");
                _UserID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("UserID");
                OnUserIDChanged();
            }
        }
        private global::System.Int64 _UserID;
        partial void OnUserIDChanging(global::System.Int64 value);
        partial void OnUserIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime CreatedDate
        {
            get
            {
                return _CreatedDate;
            }
            set
            {
                OnCreatedDateChanging(value);
                ReportPropertyChanging("CreatedDate");
                _CreatedDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("CreatedDate");
                OnCreatedDateChanged();
            }
        }
        private global::System.DateTime _CreatedDate;
        partial void OnCreatedDateChanging(global::System.DateTime value);
        partial void OnCreatedDateChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return _ModifiedDate;
            }
            set
            {
                OnModifiedDateChanging(value);
                ReportPropertyChanging("ModifiedDate");
                _ModifiedDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ModifiedDate");
                OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();

        #endregion
    
        #region Navigation Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_ProjectNote_Project", "ProjectNote")]
        public EntityCollection<ProjectNote> ProjectNotes
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<ProjectNote>("TaskItModel.FK_ProjectNote_Project", "ProjectNote");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<ProjectNote>("TaskItModel.FK_ProjectNote_Project", "ProjectNote", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_Task_Project", "Task")]
        public EntityCollection<Task> Tasks
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<Task>("TaskItModel.FK_Task_Project", "Task");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<Task>("TaskItModel.FK_Task_Project", "Task", value);
                }
            }
        }

        #endregion
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="TaskItModel", Name="ProjectNote")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class ProjectNote : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new ProjectNote object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="text">Initial value of the Text property.</param>
        /// <param name="projectID">Initial value of the ProjectID property.</param>
        /// <param name="userID">Initial value of the UserID property.</param>
        /// <param name="createdDate">Initial value of the CreatedDate property.</param>
        public static ProjectNote CreateProjectNote(global::System.Int64 id, global::System.String text, global::System.Int64 projectID, global::System.Int64 userID, global::System.DateTime createdDate)
        {
            ProjectNote projectNote = new ProjectNote();
            projectNote.ID = id;
            projectNote.Text = text;
            projectNote.ProjectID = projectID;
            projectNote.UserID = userID;
            projectNote.CreatedDate = createdDate;
            return projectNote;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Int64 _ID;
        partial void OnIDChanging(global::System.Int64 value);
        partial void OnIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Text
        {
            get
            {
                return _Text;
            }
            set
            {
                OnTextChanging(value);
                ReportPropertyChanging("Text");
                _Text = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Text");
                OnTextChanged();
            }
        }
        private global::System.String _Text;
        partial void OnTextChanging(global::System.String value);
        partial void OnTextChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ProjectID
        {
            get
            {
                return _ProjectID;
            }
            set
            {
                OnProjectIDChanging(value);
                ReportPropertyChanging("ProjectID");
                _ProjectID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ProjectID");
                OnProjectIDChanged();
            }
        }
        private global::System.Int64 _ProjectID;
        partial void OnProjectIDChanging(global::System.Int64 value);
        partial void OnProjectIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 UserID
        {
            get
            {
                return _UserID;
            }
            set
            {
                OnUserIDChanging(value);
                ReportPropertyChanging("UserID");
                _UserID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("UserID");
                OnUserIDChanged();
            }
        }
        private global::System.Int64 _UserID;
        partial void OnUserIDChanging(global::System.Int64 value);
        partial void OnUserIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime CreatedDate
        {
            get
            {
                return _CreatedDate;
            }
            set
            {
                OnCreatedDateChanging(value);
                ReportPropertyChanging("CreatedDate");
                _CreatedDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("CreatedDate");
                OnCreatedDateChanged();
            }
        }
        private global::System.DateTime _CreatedDate;
        partial void OnCreatedDateChanging(global::System.DateTime value);
        partial void OnCreatedDateChanged();

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

        #endregion
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="TaskItModel", Name="Task")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class Task : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new Task object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="name">Initial value of the Name property.</param>
        /// <param name="projectID">Initial value of the ProjectID property.</param>
        /// <param name="contactID">Initial value of the ContactID property.</param>
        /// <param name="contextID">Initial value of the ContextID property.</param>
        /// <param name="userID">Initial value of the UserID property.</param>
        /// <param name="taskCategoryID">Initial value of the TaskCategoryID property.</param>
        /// <param name="priorityID">Initial value of the PriorityID property.</param>
        /// <param name="createdDate">Initial value of the CreatedDate property.</param>
        /// <param name="modifiedDate">Initial value of the ModifiedDate property.</param>
        public static Task CreateTask(global::System.Int64 id, global::System.String name, global::System.Int64 projectID, global::System.Int64 contactID, global::System.Int64 contextID, global::System.Int64 userID, global::System.Int64 taskCategoryID, global::System.Int64 priorityID, global::System.DateTime createdDate, global::System.DateTime modifiedDate)
        {
            Task task = new Task();
            task.ID = id;
            task.Name = name;
            task.ProjectID = projectID;
            task.ContactID = contactID;
            task.ContextID = contextID;
            task.UserID = userID;
            task.TaskCategoryID = taskCategoryID;
            task.PriorityID = priorityID;
            task.CreatedDate = createdDate;
            task.ModifiedDate = modifiedDate;
            return task;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Int64 _ID;
        partial void OnIDChanging(global::System.Int64 value);
        partial void OnIDChanged();
    
        /// <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=true)]
        [DataMemberAttribute()]
        public global::System.String Description
        {
            get
            {
                return _Description;
            }
            set
            {
                OnDescriptionChanging(value);
                ReportPropertyChanging("Description");
                _Description = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("Description");
                OnDescriptionChanged();
            }
        }
        private global::System.String _Description;
        partial void OnDescriptionChanging(global::System.String value);
        partial void OnDescriptionChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ProjectID
        {
            get
            {
                return _ProjectID;
            }
            set
            {
                OnProjectIDChanging(value);
                ReportPropertyChanging("ProjectID");
                _ProjectID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ProjectID");
                OnProjectIDChanged();
            }
        }
        private global::System.Int64 _ProjectID;
        partial void OnProjectIDChanging(global::System.Int64 value);
        partial void OnProjectIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ContactID
        {
            get
            {
                return _ContactID;
            }
            set
            {
                OnContactIDChanging(value);
                ReportPropertyChanging("ContactID");
                _ContactID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ContactID");
                OnContactIDChanged();
            }
        }
        private global::System.Int64 _ContactID;
        partial void OnContactIDChanging(global::System.Int64 value);
        partial void OnContactIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ContextID
        {
            get
            {
                return _ContextID;
            }
            set
            {
                OnContextIDChanging(value);
                ReportPropertyChanging("ContextID");
                _ContextID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ContextID");
                OnContextIDChanged();
            }
        }
        private global::System.Int64 _ContextID;
        partial void OnContextIDChanging(global::System.Int64 value);
        partial void OnContextIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 UserID
        {
            get
            {
                return _UserID;
            }
            set
            {
                OnUserIDChanging(value);
                ReportPropertyChanging("UserID");
                _UserID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("UserID");
                OnUserIDChanged();
            }
        }
        private global::System.Int64 _UserID;
        partial void OnUserIDChanging(global::System.Int64 value);
        partial void OnUserIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 TaskCategoryID
        {
            get
            {
                return _TaskCategoryID;
            }
            set
            {
                OnTaskCategoryIDChanging(value);
                ReportPropertyChanging("TaskCategoryID");
                _TaskCategoryID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("TaskCategoryID");
                OnTaskCategoryIDChanged();
            }
        }
        private global::System.Int64 _TaskCategoryID;
        partial void OnTaskCategoryIDChanging(global::System.Int64 value);
        partial void OnTaskCategoryIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 PriorityID
        {
            get
            {
                return _PriorityID;
            }
            set
            {
                OnPriorityIDChanging(value);
                ReportPropertyChanging("PriorityID");
                _PriorityID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("PriorityID");
                OnPriorityIDChanged();
            }
        }
        private global::System.Int64 _PriorityID;
        partial void OnPriorityIDChanging(global::System.Int64 value);
        partial void OnPriorityIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.DateTime> DueDate
        {
            get
            {
                return _DueDate;
            }
            set
            {
                OnDueDateChanging(value);
                ReportPropertyChanging("DueDate");
                _DueDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("DueDate");
                OnDueDateChanged();
            }
        }
        private Nullable<global::System.DateTime> _DueDate;
        partial void OnDueDateChanging(Nullable<global::System.DateTime> value);
        partial void OnDueDateChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public Nullable<global::System.DateTime> CompletionDate
        {
            get
            {
                return _CompletionDate;
            }
            set
            {
                OnCompletionDateChanging(value);
                ReportPropertyChanging("CompletionDate");
                _CompletionDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("CompletionDate");
                OnCompletionDateChanged();
            }
        }
        private Nullable<global::System.DateTime> _CompletionDate;
        partial void OnCompletionDateChanging(Nullable<global::System.DateTime> value);
        partial void OnCompletionDateChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime CreatedDate
        {
            get
            {
                return _CreatedDate;
            }
            set
            {
                OnCreatedDateChanging(value);
                ReportPropertyChanging("CreatedDate");
                _CreatedDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("CreatedDate");
                OnCreatedDateChanged();
            }
        }
        private global::System.DateTime _CreatedDate;
        partial void OnCreatedDateChanging(global::System.DateTime value);
        partial void OnCreatedDateChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return _ModifiedDate;
            }
            set
            {
                OnModifiedDateChanging(value);
                ReportPropertyChanging("ModifiedDate");
                _ModifiedDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ModifiedDate");
                OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();

        #endregion
    
        #region Navigation Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_Task_Contact", "Contact")]
        public Contact Contact
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Contact>("TaskItModel.FK_Task_Contact", "Contact").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Contact>("TaskItModel.FK_Task_Contact", "Contact").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<Contact> ContactReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Contact>("TaskItModel.FK_Task_Contact", "Contact");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<Contact>("TaskItModel.FK_Task_Contact", "Contact", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_Task_Context", "Context")]
        public Context Context
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Context>("TaskItModel.FK_Task_Context", "Context").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Context>("TaskItModel.FK_Task_Context", "Context").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<Context> ContextReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Context>("TaskItModel.FK_Task_Context", "Context");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<Context>("TaskItModel.FK_Task_Context", "Context", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_Task_Priority", "Priority")]
        public Priority Priority
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Priority>("TaskItModel.FK_Task_Priority", "Priority").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Priority>("TaskItModel.FK_Task_Priority", "Priority").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<Priority> PriorityReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Priority>("TaskItModel.FK_Task_Priority", "Priority");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<Priority>("TaskItModel.FK_Task_Priority", "Priority", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_Task_Project", "Project")]
        public Project Project
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Project>("TaskItModel.FK_Task_Project", "Project").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Project>("TaskItModel.FK_Task_Project", "Project").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<Project> ProjectReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Project>("TaskItModel.FK_Task_Project", "Project");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<Project>("TaskItModel.FK_Task_Project", "Project", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_TaskCategory_Task", "TaskCategory")]
        public TaskCategory TaskCategory
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<TaskCategory>("TaskItModel.FK_TaskCategory_Task", "TaskCategory").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<TaskCategory>("TaskItModel.FK_TaskCategory_Task", "TaskCategory").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<TaskCategory> TaskCategoryReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<TaskCategory>("TaskItModel.FK_TaskCategory_Task", "TaskCategory");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<TaskCategory>("TaskItModel.FK_TaskCategory_Task", "TaskCategory", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_TaskNote_Task", "TaskNote")]
        public EntityCollection<TaskNote> TaskNotes
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<TaskNote>("TaskItModel.FK_TaskNote_Task", "TaskNote");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<TaskNote>("TaskItModel.FK_TaskNote_Task", "TaskNote", value);
                }
            }
        }

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

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Int64 _ID;
        partial void OnIDChanging(global::System.Int64 value);
        partial void OnIDChanged();
    
        /// <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();

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

        #endregion
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="TaskItModel", Name="TaskItUser")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class TaskItUser : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new TaskItUser object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="username">Initial value of the Username property.</param>
        /// <param name="password">Initial value of the Password property.</param>
        /// <param name="createdDate">Initial value of the CreatedDate property.</param>
        /// <param name="modifiedDate">Initial value of the ModifiedDate property.</param>
        public static TaskItUser CreateTaskItUser(global::System.Int64 id, global::System.String username, global::System.String password, global::System.DateTime createdDate, global::System.DateTime modifiedDate)
        {
            TaskItUser taskItUser = new TaskItUser();
            taskItUser.ID = id;
            taskItUser.Username = username;
            taskItUser.Password = password;
            taskItUser.CreatedDate = createdDate;
            taskItUser.ModifiedDate = modifiedDate;
            return taskItUser;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Int64 _ID;
        partial void OnIDChanging(global::System.Int64 value);
        partial void OnIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Username
        {
            get
            {
                return _Username;
            }
            set
            {
                OnUsernameChanging(value);
                ReportPropertyChanging("Username");
                _Username = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Username");
                OnUsernameChanged();
            }
        }
        private global::System.String _Username;
        partial void OnUsernameChanging(global::System.String value);
        partial void OnUsernameChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String FirstName
        {
            get
            {
                return _FirstName;
            }
            set
            {
                OnFirstNameChanging(value);
                ReportPropertyChanging("FirstName");
                _FirstName = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("FirstName");
                OnFirstNameChanged();
            }
        }
        private global::System.String _FirstName;
        partial void OnFirstNameChanging(global::System.String value);
        partial void OnFirstNameChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String LastName
        {
            get
            {
                return _LastName;
            }
            set
            {
                OnLastNameChanging(value);
                ReportPropertyChanging("LastName");
                _LastName = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("LastName");
                OnLastNameChanged();
            }
        }
        private global::System.String _LastName;
        partial void OnLastNameChanging(global::System.String value);
        partial void OnLastNameChanged();
    
        /// <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=false)]
        [DataMemberAttribute()]
        public global::System.String Password
        {
            get
            {
                return _Password;
            }
            set
            {
                OnPasswordChanging(value);
                ReportPropertyChanging("Password");
                _Password = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Password");
                OnPasswordChanged();
            }
        }
        private global::System.String _Password;
        partial void OnPasswordChanging(global::System.String value);
        partial void OnPasswordChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime CreatedDate
        {
            get
            {
                return _CreatedDate;
            }
            set
            {
                OnCreatedDateChanging(value);
                ReportPropertyChanging("CreatedDate");
                _CreatedDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("CreatedDate");
                OnCreatedDateChanged();
            }
        }
        private global::System.DateTime _CreatedDate;
        partial void OnCreatedDateChanging(global::System.DateTime value);
        partial void OnCreatedDateChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return _ModifiedDate;
            }
            set
            {
                OnModifiedDateChanging(value);
                ReportPropertyChanging("ModifiedDate");
                _ModifiedDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("ModifiedDate");
                OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String TwitterUsername
        {
            get
            {
                return _TwitterUsername;
            }
            set
            {
                OnTwitterUsernameChanging(value);
                ReportPropertyChanging("TwitterUsername");
                _TwitterUsername = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("TwitterUsername");
                OnTwitterUsernameChanged();
            }
        }
        private global::System.String _TwitterUsername;
        partial void OnTwitterUsernameChanging(global::System.String value);
        partial void OnTwitterUsernameChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String TwitterPassword
        {
            get
            {
                return _TwitterPassword;
            }
            set
            {
                OnTwitterPasswordChanging(value);
                ReportPropertyChanging("TwitterPassword");
                _TwitterPassword = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("TwitterPassword");
                OnTwitterPasswordChanged();
            }
        }
        private global::System.String _TwitterPassword;
        partial void OnTwitterPasswordChanging(global::System.String value);
        partial void OnTwitterPasswordChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String FacebookUsername
        {
            get
            {
                return _FacebookUsername;
            }
            set
            {
                OnFacebookUsernameChanging(value);
                ReportPropertyChanging("FacebookUsername");
                _FacebookUsername = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("FacebookUsername");
                OnFacebookUsernameChanged();
            }
        }
        private global::System.String _FacebookUsername;
        partial void OnFacebookUsernameChanging(global::System.String value);
        partial void OnFacebookUsernameChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)]
        [DataMemberAttribute()]
        public global::System.String FacebookPassword
        {
            get
            {
                return _FacebookPassword;
            }
            set
            {
                OnFacebookPasswordChanging(value);
                ReportPropertyChanging("FacebookPassword");
                _FacebookPassword = StructuralObject.SetValidValue(value, true);
                ReportPropertyChanged("FacebookPassword");
                OnFacebookPasswordChanged();
            }
        }
        private global::System.String _FacebookPassword;
        partial void OnFacebookPasswordChanging(global::System.String value);
        partial void OnFacebookPasswordChanged();

        #endregion
    
        #region Navigation Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_ContactNote_User", "ContactNote")]
        public EntityCollection<ContactNote> ContactNotes
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<ContactNote>("TaskItModel.FK_ContactNote_User", "ContactNote");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<ContactNote>("TaskItModel.FK_ContactNote_User", "ContactNote", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_ContextNote_User", "ContextNote")]
        public EntityCollection<ContextNote> ContextNotes
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<ContextNote>("TaskItModel.FK_ContextNote_User", "ContextNote");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<ContextNote>("TaskItModel.FK_ContextNote_User", "ContextNote", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_ProjectNote_User", "ProjectNote")]
        public EntityCollection<ProjectNote> ProjectNotes
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<ProjectNote>("TaskItModel.FK_ProjectNote_User", "ProjectNote");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<ProjectNote>("TaskItModel.FK_ProjectNote_User", "ProjectNote", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("TaskItModel", "FK_TaskNote_User", "TaskNote")]
        public EntityCollection<TaskNote> TaskNotes
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<TaskNote>("TaskItModel.FK_TaskNote_User", "TaskNote");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<TaskNote>("TaskItModel.FK_TaskNote_User", "TaskNote", value);
                }
            }
        }

        #endregion
    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="TaskItModel", Name="TaskNote")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class TaskNote : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new TaskNote object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="text">Initial value of the Text property.</param>
        /// <param name="taskID">Initial value of the TaskID property.</param>
        /// <param name="userID">Initial value of the UserID property.</param>
        /// <param name="createdDate">Initial value of the CreatedDate property.</param>
        public static TaskNote CreateTaskNote(global::System.Int64 id, global::System.String text, global::System.Int64 taskID, global::System.Int64 userID, global::System.DateTime createdDate)
        {
            TaskNote taskNote = new TaskNote();
            taskNote.ID = id;
            taskNote.Text = text;
            taskNote.TaskID = taskID;
            taskNote.UserID = userID;
            taskNote.CreatedDate = createdDate;
            return taskNote;
        }

        #endregion
        #region Primitive Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value);
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Int64 _ID;
        partial void OnIDChanging(global::System.Int64 value);
        partial void OnIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Text
        {
            get
            {
                return _Text;
            }
            set
            {
                OnTextChanging(value);
                ReportPropertyChanging("Text");
                _Text = StructuralObject.SetValidValue(value, false);
                ReportPropertyChanged("Text");
                OnTextChanged();
            }
        }
        private global::System.String _Text;
        partial void OnTextChanging(global::System.String value);
        partial void OnTextChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 TaskID
        {
            get
            {
                return _TaskID;
            }
            set
            {
                OnTaskIDChanging(value);
                ReportPropertyChanging("TaskID");
                _TaskID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("TaskID");
                OnTaskIDChanged();
            }
        }
        private global::System.Int64 _TaskID;
        partial void OnTaskIDChanging(global::System.Int64 value);
        partial void OnTaskIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int64 UserID
        {
            get
            {
                return _UserID;
            }
            set
            {
                OnUserIDChanging(value);
                ReportPropertyChanging("UserID");
                _UserID = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("UserID");
                OnUserIDChanged();
            }
        }
        private global::System.Int64 _UserID;
        partial void OnUserIDChanging(global::System.Int64 value);
        partial void OnUserIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime CreatedDate
        {
            get
            {
                return _CreatedDate;
            }
            set
            {
                OnCreatedDateChanging(value);
                ReportPropertyChanging("CreatedDate");
                _CreatedDate = StructuralObject.SetValidValue(value);
                ReportPropertyChanged("CreatedDate");
                OnCreatedDateChanged();
            }
        }
        private global::System.DateTime _CreatedDate;
        partial void OnCreatedDateChanging(global::System.DateTime value);
        partial void OnCreatedDateChanged();

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

        #endregion
    }

    #endregion
    
}
