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

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

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

[assembly: EdmRelationshipAttribute("FeedCenterModel", "FK_Feed_Category", "Category", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(FeedCenter.Category), "Feed", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(FeedCenter.Feed), true)]
[assembly: EdmRelationshipAttribute("FeedCenterModel", "FK_FeedAction_Feed", "Feed", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(FeedCenter.Feed), "FeedAction", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(FeedCenter.FeedAction), true)]
[assembly: EdmRelationshipAttribute("FeedCenterModel", "FK_FeedItem_Feed", "Feed", System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(FeedCenter.Feed), "FeedItem", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(FeedCenter.FeedItem), true)]

#endregion

namespace FeedCenter
{
    #region Contexts
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    public partial class FeedCenterEntities : ObjectContext
    {
        #region Constructors
    
        /// <summary>
        /// Initializes a new FeedCenterEntities object using the connection string found in the 'FeedCenterEntities' section of the application configuration file.
        /// </summary>
        public FeedCenterEntities() : base("name=FeedCenterEntities", "FeedCenterEntities")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        /// <summary>
        /// Initialize a new FeedCenterEntities object.
        /// </summary>
        public FeedCenterEntities(string connectionString) : base(connectionString, "FeedCenterEntities")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        /// <summary>
        /// Initialize a new FeedCenterEntities object.
        /// </summary>
        public FeedCenterEntities(EntityConnection connection) : base(connection, "FeedCenterEntities")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }
    
        #endregion
    
        #region Partial Methods
    
        partial void OnContextCreated();
    
        #endregion
    
        #region ObjectSet Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<Category> Categories
        {
            get
            {
                if ((_Categories == null))
                {
                    _Categories = base.CreateObjectSet<Category>("Categories");
                }
                return _Categories;
            }
        }
        private ObjectSet<Category> _Categories;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<Feed> Feeds
        {
            get
            {
                if ((_Feeds == null))
                {
                    _Feeds = base.CreateObjectSet<Feed>("Feeds");
                }
                return _Feeds;
            }
        }
        private ObjectSet<Feed> _Feeds;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<FeedAction> FeedActions
        {
            get
            {
                if ((_FeedActions == null))
                {
                    _FeedActions = base.CreateObjectSet<FeedAction>("FeedActions");
                }
                return _FeedActions;
            }
        }
        private ObjectSet<FeedAction> _FeedActions;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<FeedItem> FeedItems
        {
            get
            {
                if ((_FeedItems == null))
                {
                    _FeedItems = base.CreateObjectSet<FeedItem>("FeedItems");
                }
                return _FeedItems;
            }
        }
        private ObjectSet<FeedItem> _FeedItems;
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        public ObjectSet<Setting> Settings
        {
            get
            {
                if ((_Settings == null))
                {
                    _Settings = base.CreateObjectSet<Setting>("Settings");
                }
                return _Settings;
            }
        }
        private ObjectSet<Setting> _Settings;

        #endregion

        #region AddTo Methods
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Categories EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToCategories(Category category)
        {
            base.AddObject("Categories", category);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Feeds EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToFeeds(Feed feed)
        {
            base.AddObject("Feeds", feed);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the FeedActions EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToFeedActions(FeedAction feedAction)
        {
            base.AddObject("FeedActions", feedAction);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the FeedItems EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToFeedItems(FeedItem feedItem)
        {
            base.AddObject("FeedItems", feedItem);
        }
    
        /// <summary>
        /// Deprecated Method for adding a new object to the Settings EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
        /// </summary>
        public void AddToSettings(Setting setting)
        {
            base.AddObject("Settings", setting);
        }

        #endregion

    }

    #endregion

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

        #endregion

        #region Simple Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Guid ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value, "ID");
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Guid _ID;
        partial void OnIDChanging(global::System.Guid 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, "Name");
                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("FeedCenterModel", "FK_Feed_Category", "Feed")]
        public EntityCollection<Feed> Feeds
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<Feed>("FeedCenterModel.FK_Feed_Category", "Feed");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<Feed>("FeedCenterModel.FK_Feed_Category", "Feed", value);
                }
            }
        }

        #endregion

    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="FeedCenterModel", Name="Feed")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class Feed : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new Feed object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="lastReadResult">Initial value of the LastReadResult property.</param>
        /// <param name="categoryID">Initial value of the CategoryID property.</param>
        public static Feed CreateFeed(global::System.Guid id, global::System.Int32 lastReadResult, global::System.Guid categoryID)
        {
            Feed feed = new Feed();
            feed.ID = id;
            feed.LastReadResult = lastReadResult;
            feed.CategoryID = categoryID;
            return feed;
        }

        #endregion

        #region Simple Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Guid ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value, "ID");
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Guid _ID;
        partial void OnIDChanging(global::System.Guid 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, "Name");
                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.String Title
        {
            get
            {
                return _Title;
            }
            set
            {
                OnTitleChanging(value);
                ReportPropertyChanging("Title");
                _Title = StructuralObject.SetValidValue(value, false, "Title");
                ReportPropertyChanged("Title");
                OnTitleChanged();
            }
        }
        private global::System.String _Title = "";
        partial void OnTitleChanging(global::System.String value);
        partial void OnTitleChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Source
        {
            get
            {
                return _Source;
            }
            set
            {
                OnSourceChanging(value);
                ReportPropertyChanging("Source");
                _Source = StructuralObject.SetValidValue(value, false, "Source");
                ReportPropertyChanged("Source");
                OnSourceChanged();
            }
        }
        private global::System.String _Source = "";
        partial void OnSourceChanging(global::System.String value);
        partial void OnSourceChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Link
        {
            get
            {
                return _Link;
            }
            set
            {
                OnLinkChanging(value);
                ReportPropertyChanging("Link");
                _Link = StructuralObject.SetValidValue(value, false, "Link");
                ReportPropertyChanged("Link");
                OnLinkChanged();
            }
        }
        private global::System.String _Link = "";
        partial void OnLinkChanging(global::System.String value);
        partial void OnLinkChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Description
        {
            get
            {
                return _Description;
            }
            set
            {
                OnDescriptionChanging(value);
                ReportPropertyChanging("Description");
                _Description = StructuralObject.SetValidValue(value, false, "Description");
                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.DateTime LastChecked
        {
            get
            {
                return _LastChecked;
            }
            set
            {
                OnLastCheckedChanging(value);
                ReportPropertyChanging("LastChecked");
                _LastChecked = StructuralObject.SetValidValue(value, "LastChecked");
                ReportPropertyChanged("LastChecked");
                OnLastCheckedChanged();
            }
        }
        private global::System.DateTime _LastChecked = new DateTime(599266080000000000, DateTimeKind.Unspecified);
        partial void OnLastCheckedChanging(global::System.DateTime value);
        partial void OnLastCheckedChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 CheckInterval
        {
            get
            {
                return _CheckInterval;
            }
            set
            {
                OnCheckIntervalChanging(value);
                ReportPropertyChanging("CheckInterval");
                _CheckInterval = StructuralObject.SetValidValue(value, "CheckInterval");
                ReportPropertyChanged("CheckInterval");
                OnCheckIntervalChanged();
            }
        }
        private global::System.Int32 _CheckInterval = 60;
        partial void OnCheckIntervalChanging(global::System.Int32 value);
        partial void OnCheckIntervalChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Boolean Enabled
        {
            get
            {
                return _Enabled;
            }
            set
            {
                OnEnabledChanging(value);
                ReportPropertyChanging("Enabled");
                _Enabled = StructuralObject.SetValidValue(value, "Enabled");
                ReportPropertyChanged("Enabled");
                OnEnabledChanged();
            }
        }
        private global::System.Boolean _Enabled = true;
        partial void OnEnabledChanging(global::System.Boolean value);
        partial void OnEnabledChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Boolean Authenticate
        {
            get
            {
                return _Authenticate;
            }
            set
            {
                OnAuthenticateChanging(value);
                ReportPropertyChanging("Authenticate");
                _Authenticate = StructuralObject.SetValidValue(value, "Authenticate");
                ReportPropertyChanged("Authenticate");
                OnAuthenticateChanged();
            }
        }
        private global::System.Boolean _Authenticate = false;
        partial void OnAuthenticateChanging(global::System.Boolean value);
        partial void OnAuthenticateChanged();
    
        /// <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, "Username");
                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.String Password
        {
            get
            {
                return _Password;
            }
            set
            {
                OnPasswordChanging(value);
                ReportPropertyChanging("Password");
                _Password = StructuralObject.SetValidValue(value, false, "Password");
                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.String Domain
        {
            get
            {
                return _Domain;
            }
            set
            {
                OnDomainChanging(value);
                ReportPropertyChanging("Domain");
                _Domain = StructuralObject.SetValidValue(value, false, "Domain");
                ReportPropertyChanged("Domain");
                OnDomainChanged();
            }
        }
        private global::System.String _Domain = "";
        partial void OnDomainChanging(global::System.String value);
        partial void OnDomainChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 LastReadResult
        {
            get
            {
                return _LastReadResult;
            }
            set
            {
                OnLastReadResultChanging(value);
                ReportPropertyChanging("LastReadResult");
                _LastReadResult = StructuralObject.SetValidValue(value, "LastReadResult");
                ReportPropertyChanged("LastReadResult");
                OnLastReadResultChanged();
            }
        }
        private global::System.Int32 _LastReadResult;
        partial void OnLastReadResultChanging(global::System.Int32 value);
        partial void OnLastReadResultChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime LastUpdated
        {
            get
            {
                return _LastUpdated;
            }
            set
            {
                OnLastUpdatedChanging(value);
                ReportPropertyChanging("LastUpdated");
                _LastUpdated = StructuralObject.SetValidValue(value, "LastUpdated");
                ReportPropertyChanged("LastUpdated");
                OnLastUpdatedChanged();
            }
        }
        private global::System.DateTime _LastUpdated = new DateTime(599266080000000000, DateTimeKind.Unspecified);
        partial void OnLastUpdatedChanging(global::System.DateTime value);
        partial void OnLastUpdatedChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Byte ItemComparison
        {
            get
            {
                return _ItemComparison;
            }
            set
            {
                OnItemComparisonChanging(value);
                ReportPropertyChanging("ItemComparison");
                _ItemComparison = StructuralObject.SetValidValue(value, "ItemComparison");
                ReportPropertyChanged("ItemComparison");
                OnItemComparisonChanged();
            }
        }
        private global::System.Byte _ItemComparison = 0;
        partial void OnItemComparisonChanging(global::System.Byte value);
        partial void OnItemComparisonChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Guid CategoryID
        {
            get
            {
                return _CategoryID;
            }
            set
            {
                OnCategoryIDChanging(value);
                ReportPropertyChanging("CategoryID");
                _CategoryID = StructuralObject.SetValidValue(value, "CategoryID");
                ReportPropertyChanged("CategoryID");
                OnCategoryIDChanged();
            }
        }
        private global::System.Guid _CategoryID;
        partial void OnCategoryIDChanging(global::System.Guid value);
        partial void OnCategoryIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 MultipleOpenAction
        {
            get
            {
                return _MultipleOpenAction;
            }
            set
            {
                OnMultipleOpenActionChanging(value);
                ReportPropertyChanging("MultipleOpenAction");
                _MultipleOpenAction = StructuralObject.SetValidValue(value, "MultipleOpenAction");
                ReportPropertyChanged("MultipleOpenAction");
                OnMultipleOpenActionChanged();
            }
        }
        private global::System.Int32 _MultipleOpenAction = 0;
        partial void OnMultipleOpenActionChanging(global::System.Int32 value);
        partial void OnMultipleOpenActionChanged();

        #endregion

        #region Navigation Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("FeedCenterModel", "FK_Feed_Category", "Category")]
        public Category Category
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Category>("FeedCenterModel.FK_Feed_Category", "Category").Value;
            }
            set
            {
                ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Category>("FeedCenterModel.FK_Feed_Category", "Category").Value = value;
            }
        }
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [BrowsableAttribute(false)]
        [DataMemberAttribute()]
        public EntityReference<Category> CategoryReference
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference<Category>("FeedCenterModel.FK_Feed_Category", "Category");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference<Category>("FeedCenterModel.FK_Feed_Category", "Category", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("FeedCenterModel", "FK_FeedAction_Feed", "FeedAction")]
        public EntityCollection<FeedAction> Actions
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<FeedAction>("FeedCenterModel.FK_FeedAction_Feed", "FeedAction");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<FeedAction>("FeedCenterModel.FK_FeedAction_Feed", "FeedAction", value);
                }
            }
        }
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [XmlIgnoreAttribute()]
        [SoapIgnoreAttribute()]
        [DataMemberAttribute()]
        [EdmRelationshipNavigationPropertyAttribute("FeedCenterModel", "FK_FeedItem_Feed", "FeedItem")]
        public EntityCollection<FeedItem> Items
        {
            get
            {
                return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<FeedItem>("FeedCenterModel.FK_FeedItem_Feed", "FeedItem");
            }
            set
            {
                if ((value != null))
                {
                    ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<FeedItem>("FeedCenterModel.FK_FeedItem_Feed", "FeedItem", value);
                }
            }
        }

        #endregion

    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="FeedCenterModel", Name="FeedAction")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class FeedAction : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new FeedAction object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="feedID">Initial value of the FeedID property.</param>
        /// <param name="field">Initial value of the Field property.</param>
        /// <param name="search">Initial value of the Search property.</param>
        /// <param name="replace">Initial value of the Replace property.</param>
        /// <param name="sequence">Initial value of the Sequence property.</param>
        public static FeedAction CreateFeedAction(global::System.Guid id, global::System.Guid feedID, global::System.Int32 field, global::System.String search, global::System.String replace, global::System.Int32 sequence)
        {
            FeedAction feedAction = new FeedAction();
            feedAction.ID = id;
            feedAction.FeedID = feedID;
            feedAction.Field = field;
            feedAction.Search = search;
            feedAction.Replace = replace;
            feedAction.Sequence = sequence;
            return feedAction;
        }

        #endregion

        #region Simple Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Guid ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value, "ID");
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Guid _ID;
        partial void OnIDChanging(global::System.Guid value);
        partial void OnIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Guid FeedID
        {
            get
            {
                return _FeedID;
            }
            set
            {
                OnFeedIDChanging(value);
                ReportPropertyChanging("FeedID");
                _FeedID = StructuralObject.SetValidValue(value, "FeedID");
                ReportPropertyChanged("FeedID");
                OnFeedIDChanged();
            }
        }
        private global::System.Guid _FeedID;
        partial void OnFeedIDChanging(global::System.Guid value);
        partial void OnFeedIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 Field
        {
            get
            {
                return _Field;
            }
            set
            {
                OnFieldChanging(value);
                ReportPropertyChanging("Field");
                _Field = StructuralObject.SetValidValue(value, "Field");
                ReportPropertyChanged("Field");
                OnFieldChanged();
            }
        }
        private global::System.Int32 _Field;
        partial void OnFieldChanging(global::System.Int32 value);
        partial void OnFieldChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Search
        {
            get
            {
                return _Search;
            }
            set
            {
                OnSearchChanging(value);
                ReportPropertyChanging("Search");
                _Search = StructuralObject.SetValidValue(value, false, "Search");
                ReportPropertyChanged("Search");
                OnSearchChanged();
            }
        }
        private global::System.String _Search;
        partial void OnSearchChanging(global::System.String value);
        partial void OnSearchChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Replace
        {
            get
            {
                return _Replace;
            }
            set
            {
                OnReplaceChanging(value);
                ReportPropertyChanging("Replace");
                _Replace = StructuralObject.SetValidValue(value, false, "Replace");
                ReportPropertyChanged("Replace");
                OnReplaceChanged();
            }
        }
        private global::System.String _Replace;
        partial void OnReplaceChanging(global::System.String value);
        partial void OnReplaceChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 Sequence
        {
            get
            {
                return _Sequence;
            }
            set
            {
                OnSequenceChanging(value);
                ReportPropertyChanging("Sequence");
                _Sequence = StructuralObject.SetValidValue(value, "Sequence");
                ReportPropertyChanged("Sequence");
                OnSequenceChanged();
            }
        }
        private global::System.Int32 _Sequence;
        partial void OnSequenceChanging(global::System.Int32 value);
        partial void OnSequenceChanged();

        #endregion

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

        #endregion

    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="FeedCenterModel", Name="FeedItem")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class FeedItem : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new FeedItem object.
        /// </summary>
        /// <param name="id">Initial value of the ID property.</param>
        /// <param name="feedID">Initial value of the FeedID property.</param>
        /// <param name="beenRead">Initial value of the BeenRead property.</param>
        /// <param name="new">Initial value of the New property.</param>
        /// <param name="guid">Initial value of the Guid property.</param>
        /// <param name="sequence">Initial value of the Sequence property.</param>
        public static FeedItem CreateFeedItem(global::System.Guid id, global::System.Guid feedID, global::System.Boolean beenRead, global::System.Boolean @new, global::System.String guid, global::System.Int32 sequence)
        {
            FeedItem feedItem = new FeedItem();
            feedItem.ID = id;
            feedItem.FeedID = feedID;
            feedItem.BeenRead = beenRead;
            feedItem.New = @new;
            feedItem.Guid = guid;
            feedItem.Sequence = sequence;
            return feedItem;
        }

        #endregion

        #region Simple Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Guid ID
        {
            get
            {
                return _ID;
            }
            set
            {
                if (_ID != value)
                {
                    OnIDChanging(value);
                    ReportPropertyChanging("ID");
                    _ID = StructuralObject.SetValidValue(value, "ID");
                    ReportPropertyChanged("ID");
                    OnIDChanged();
                }
            }
        }
        private global::System.Guid _ID;
        partial void OnIDChanging(global::System.Guid value);
        partial void OnIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Guid FeedID
        {
            get
            {
                return _FeedID;
            }
            set
            {
                OnFeedIDChanging(value);
                ReportPropertyChanging("FeedID");
                _FeedID = StructuralObject.SetValidValue(value, "FeedID");
                ReportPropertyChanged("FeedID");
                OnFeedIDChanged();
            }
        }
        private global::System.Guid _FeedID;
        partial void OnFeedIDChanging(global::System.Guid value);
        partial void OnFeedIDChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Title
        {
            get
            {
                return _Title;
            }
            set
            {
                OnTitleChanging(value);
                ReportPropertyChanging("Title");
                _Title = StructuralObject.SetValidValue(value, false, "Title");
                ReportPropertyChanged("Title");
                OnTitleChanged();
            }
        }
        private global::System.String _Title = "";
        partial void OnTitleChanging(global::System.String value);
        partial void OnTitleChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Link
        {
            get
            {
                return _Link;
            }
            set
            {
                OnLinkChanging(value);
                ReportPropertyChanging("Link");
                _Link = StructuralObject.SetValidValue(value, false, "Link");
                ReportPropertyChanged("Link");
                OnLinkChanged();
            }
        }
        private global::System.String _Link = "";
        partial void OnLinkChanging(global::System.String value);
        partial void OnLinkChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Description
        {
            get
            {
                return _Description;
            }
            set
            {
                OnDescriptionChanging(value);
                ReportPropertyChanging("Description");
                _Description = StructuralObject.SetValidValue(value, false, "Description");
                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.Boolean BeenRead
        {
            get
            {
                return _BeenRead;
            }
            set
            {
                OnBeenReadChanging(value);
                ReportPropertyChanging("BeenRead");
                _BeenRead = StructuralObject.SetValidValue(value, "BeenRead");
                ReportPropertyChanged("BeenRead");
                OnBeenReadChanged();
            }
        }
        private global::System.Boolean _BeenRead;
        partial void OnBeenReadChanging(global::System.Boolean value);
        partial void OnBeenReadChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.DateTime LastFound
        {
            get
            {
                return _LastFound;
            }
            set
            {
                OnLastFoundChanging(value);
                ReportPropertyChanging("LastFound");
                _LastFound = StructuralObject.SetValidValue(value, "LastFound");
                ReportPropertyChanged("LastFound");
                OnLastFoundChanged();
            }
        }
        private global::System.DateTime _LastFound = new DateTime(599266080000000000, DateTimeKind.Unspecified);
        partial void OnLastFoundChanging(global::System.DateTime value);
        partial void OnLastFoundChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Boolean New
        {
            get
            {
                return _New;
            }
            set
            {
                OnNewChanging(value);
                ReportPropertyChanging("New");
                _New = StructuralObject.SetValidValue(value, "New");
                ReportPropertyChanged("New");
                OnNewChanged();
            }
        }
        private global::System.Boolean _New;
        partial void OnNewChanging(global::System.Boolean value);
        partial void OnNewChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Guid
        {
            get
            {
                return _Guid;
            }
            set
            {
                OnGuidChanging(value);
                ReportPropertyChanging("Guid");
                _Guid = StructuralObject.SetValidValue(value, false, "Guid");
                ReportPropertyChanged("Guid");
                OnGuidChanged();
            }
        }
        private global::System.String _Guid;
        partial void OnGuidChanging(global::System.String value);
        partial void OnGuidChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.Int32 Sequence
        {
            get
            {
                return _Sequence;
            }
            set
            {
                OnSequenceChanging(value);
                ReportPropertyChanging("Sequence");
                _Sequence = StructuralObject.SetValidValue(value, "Sequence");
                ReportPropertyChanged("Sequence");
                OnSequenceChanged();
            }
        }
        private global::System.Int32 _Sequence;
        partial void OnSequenceChanging(global::System.Int32 value);
        partial void OnSequenceChanged();

        #endregion

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

        #endregion

    }
    
    /// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [EdmEntityTypeAttribute(NamespaceName="FeedCenterModel", Name="Setting")]
    [Serializable()]
    [DataContractAttribute(IsReference=true)]
    public partial class Setting : EntityObject
    {
        #region Factory Method
    
        /// <summary>
        /// Create a new Setting object.
        /// </summary>
        /// <param name="name">Initial value of the Name property.</param>
        /// <param name="value">Initial value of the Value property.</param>
        /// <param name="version">Initial value of the Version property.</param>
        public static Setting CreateSetting(global::System.String name, global::System.String value, global::System.String version)
        {
            Setting setting = new Setting();
            setting.Name = name;
            setting.Value = value;
            setting.Version = version;
            return setting;
        }

        #endregion

        #region Simple Properties
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Name
        {
            get
            {
                return _Name;
            }
            set
            {
                if (_Name != value)
                {
                    OnNameChanging(value);
                    ReportPropertyChanging("Name");
                    _Name = StructuralObject.SetValidValue(value, false, "Name");
                    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.String Value
        {
            get
            {
                return _Value;
            }
            set
            {
                OnValueChanging(value);
                ReportPropertyChanging("Value");
                _Value = StructuralObject.SetValidValue(value, false, "Value");
                ReportPropertyChanged("Value");
                OnValueChanged();
            }
        }
        private global::System.String _Value;
        partial void OnValueChanging(global::System.String value);
        partial void OnValueChanged();
    
        /// <summary>
        /// No Metadata Documentation available.
        /// </summary>
        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [DataMemberAttribute()]
        public global::System.String Version
        {
            get
            {
                return _Version;
            }
            set
            {
                if (_Version != value)
                {
                    OnVersionChanging(value);
                    ReportPropertyChanging("Version");
                    _Version = StructuralObject.SetValidValue(value, false, "Version");
                    ReportPropertyChanged("Version");
                    OnVersionChanged();
                }
            }
        }
        private global::System.String _Version;
        partial void OnVersionChanging(global::System.String value);
        partial void OnVersionChanged();

        #endregion

    }

    #endregion

}
