#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.18444
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace Carrotware.CMS.Data
{
	using System.Data.Linq;
	using System.Data.Linq.Mapping;
	using System.Data;
	using System.Collections.Generic;
	using System.Reflection;
	using System.Linq;
	using System.Linq.Expressions;
	using System.ComponentModel;
	using System;
	
	
	[global::System.Data.Linq.Mapping.DatabaseAttribute(Name="CarrotwareCMS")]
	public partial class CarrotCMSDataContext : System.Data.Linq.DataContext
	{
		
		private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
		
    #region Extensibility Method Definitions
    partial void OnCreated();
    partial void Insertaspnet_User(aspnet_User instance);
    partial void Updateaspnet_User(aspnet_User instance);
    partial void Deleteaspnet_User(aspnet_User instance);
    partial void Insertaspnet_Membership(aspnet_Membership instance);
    partial void Updateaspnet_Membership(aspnet_Membership instance);
    partial void Deleteaspnet_Membership(aspnet_Membership instance);
    partial void Insertcarrot_UserSiteMapping(carrot_UserSiteMapping instance);
    partial void Updatecarrot_UserSiteMapping(carrot_UserSiteMapping instance);
    partial void Deletecarrot_UserSiteMapping(carrot_UserSiteMapping instance);
    partial void Insertcarrot_ContentTag(carrot_ContentTag instance);
    partial void Updatecarrot_ContentTag(carrot_ContentTag instance);
    partial void Deletecarrot_ContentTag(carrot_ContentTag instance);
    partial void Insertcarrot_ContentCategory(carrot_ContentCategory instance);
    partial void Updatecarrot_ContentCategory(carrot_ContentCategory instance);
    partial void Deletecarrot_ContentCategory(carrot_ContentCategory instance);
    partial void Insertcarrot_CategoryContentMapping(carrot_CategoryContentMapping instance);
    partial void Updatecarrot_CategoryContentMapping(carrot_CategoryContentMapping instance);
    partial void Deletecarrot_CategoryContentMapping(carrot_CategoryContentMapping instance);
    partial void Insertcarrot_TagContentMapping(carrot_TagContentMapping instance);
    partial void Updatecarrot_TagContentMapping(carrot_TagContentMapping instance);
    partial void Deletecarrot_TagContentMapping(carrot_TagContentMapping instance);
    partial void Insertaspnet_Role(aspnet_Role instance);
    partial void Updateaspnet_Role(aspnet_Role instance);
    partial void Deleteaspnet_Role(aspnet_Role instance);
    partial void Insertcarrot_ContentType(carrot_ContentType instance);
    partial void Updatecarrot_ContentType(carrot_ContentType instance);
    partial void Deletecarrot_ContentType(carrot_ContentType instance);
    partial void Insertcarrot_WidgetData(carrot_WidgetData instance);
    partial void Updatecarrot_WidgetData(carrot_WidgetData instance);
    partial void Deletecarrot_WidgetData(carrot_WidgetData instance);
    partial void Insertcarrot_Widget(carrot_Widget instance);
    partial void Updatecarrot_Widget(carrot_Widget instance);
    partial void Deletecarrot_Widget(carrot_Widget instance);
    partial void Insertcarrot_ContentComment(carrot_ContentComment instance);
    partial void Updatecarrot_ContentComment(carrot_ContentComment instance);
    partial void Deletecarrot_ContentComment(carrot_ContentComment instance);
    partial void Insertcarrot_SerialCache(carrot_SerialCache instance);
    partial void Updatecarrot_SerialCache(carrot_SerialCache instance);
    partial void Deletecarrot_SerialCache(carrot_SerialCache instance);
    partial void Insertcarrot_TrackbackQueue(carrot_TrackbackQueue instance);
    partial void Updatecarrot_TrackbackQueue(carrot_TrackbackQueue instance);
    partial void Deletecarrot_TrackbackQueue(carrot_TrackbackQueue instance);
    partial void Insertcarrot_RootContent(carrot_RootContent instance);
    partial void Updatecarrot_RootContent(carrot_RootContent instance);
    partial void Deletecarrot_RootContent(carrot_RootContent instance);
    partial void Insertcarrot_TextWidget(carrot_TextWidget instance);
    partial void Updatecarrot_TextWidget(carrot_TextWidget instance);
    partial void Deletecarrot_TextWidget(carrot_TextWidget instance);
    partial void Insertcarrot_RootContentSnippet(carrot_RootContentSnippet instance);
    partial void Updatecarrot_RootContentSnippet(carrot_RootContentSnippet instance);
    partial void Deletecarrot_RootContentSnippet(carrot_RootContentSnippet instance);
    partial void Insertcarrot_ContentSnippet(carrot_ContentSnippet instance);
    partial void Updatecarrot_ContentSnippet(carrot_ContentSnippet instance);
    partial void Deletecarrot_ContentSnippet(carrot_ContentSnippet instance);
    partial void Insertcarrot_Site(carrot_Site instance);
    partial void Updatecarrot_Site(carrot_Site instance);
    partial void Deletecarrot_Site(carrot_Site instance);
    partial void Insertcarrot_UserData(carrot_UserData instance);
    partial void Updatecarrot_UserData(carrot_UserData instance);
    partial void Deletecarrot_UserData(carrot_UserData instance);
    partial void Insertcarrot_Content(carrot_Content instance);
    partial void Updatecarrot_Content(carrot_Content instance);
    partial void Deletecarrot_Content(carrot_Content instance);
    partial void Insertaspnet_UsersInRole(aspnet_UsersInRole instance);
    partial void Updateaspnet_UsersInRole(aspnet_UsersInRole instance);
    partial void Deleteaspnet_UsersInRole(aspnet_UsersInRole instance);
    #endregion
		
		public CarrotCMSDataContext() : 
				base(global::Carrotware.CMS.Data.Properties.Settings.Default.CarrotwareCMSConnectionString, mappingSource)
		{
			OnCreated();
		}
		
		public CarrotCMSDataContext(string connection) : 
				base(connection, mappingSource)
		{
			OnCreated();
		}
		
		public CarrotCMSDataContext(System.Data.IDbConnection connection) : 
				base(connection, mappingSource)
		{
			OnCreated();
		}
		
		public CarrotCMSDataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) : 
				base(connection, mappingSource)
		{
			OnCreated();
		}
		
		public CarrotCMSDataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) : 
				base(connection, mappingSource)
		{
			OnCreated();
		}
		
		public System.Data.Linq.Table<aspnet_User> aspnet_Users
		{
			get
			{
				return this.GetTable<aspnet_User>();
			}
		}
		
		public System.Data.Linq.Table<aspnet_Membership> aspnet_Memberships
		{
			get
			{
				return this.GetTable<aspnet_Membership>();
			}
		}
		
		public System.Data.Linq.Table<carrot_UserSiteMapping> carrot_UserSiteMappings
		{
			get
			{
				return this.GetTable<carrot_UserSiteMapping>();
			}
		}
		
		public System.Data.Linq.Table<carrot_ContentTag> carrot_ContentTags
		{
			get
			{
				return this.GetTable<carrot_ContentTag>();
			}
		}
		
		public System.Data.Linq.Table<carrot_ContentCategory> carrot_ContentCategories
		{
			get
			{
				return this.GetTable<carrot_ContentCategory>();
			}
		}
		
		public System.Data.Linq.Table<carrot_CategoryContentMapping> carrot_CategoryContentMappings
		{
			get
			{
				return this.GetTable<carrot_CategoryContentMapping>();
			}
		}
		
		public System.Data.Linq.Table<carrot_TagContentMapping> carrot_TagContentMappings
		{
			get
			{
				return this.GetTable<carrot_TagContentMapping>();
			}
		}
		
		public System.Data.Linq.Table<vw_carrot_TagCounted> vw_carrot_TagCounteds
		{
			get
			{
				return this.GetTable<vw_carrot_TagCounted>();
			}
		}
		
		public System.Data.Linq.Table<vw_carrot_CategoryCounted> vw_carrot_CategoryCounteds
		{
			get
			{
				return this.GetTable<vw_carrot_CategoryCounted>();
			}
		}
		
		public System.Data.Linq.Table<aspnet_Role> aspnet_Roles
		{
			get
			{
				return this.GetTable<aspnet_Role>();
			}
		}
		
		public System.Data.Linq.Table<carrot_ContentType> carrot_ContentTypes
		{
			get
			{
				return this.GetTable<carrot_ContentType>();
			}
		}
		
		public System.Data.Linq.Table<carrot_WidgetData> carrot_WidgetDatas
		{
			get
			{
				return this.GetTable<carrot_WidgetData>();
			}
		}
		
		public System.Data.Linq.Table<carrot_Widget> carrot_Widgets
		{
			get
			{
				return this.GetTable<carrot_Widget>();
			}
		}
		
		public System.Data.Linq.Table<carrot_ContentComment> carrot_ContentComments
		{
			get
			{
				return this.GetTable<carrot_ContentComment>();
			}
		}
		
		public System.Data.Linq.Table<carrot_SerialCache> carrot_SerialCaches
		{
			get
			{
				return this.GetTable<carrot_SerialCache>();
			}
		}
		
		public System.Data.Linq.Table<vw_carrot_Widget> vw_carrot_Widgets
		{
			get
			{
				return this.GetTable<vw_carrot_Widget>();
			}
		}
		
		public System.Data.Linq.Table<carrot_ContentTally> carrot_ContentTallies
		{
			get
			{
				return this.GetTable<carrot_ContentTally>();
			}
		}
		
		public System.Data.Linq.Table<vw_carrot_Comment> vw_carrot_Comments
		{
			get
			{
				return this.GetTable<vw_carrot_Comment>();
			}
		}
		
		public System.Data.Linq.Table<carrot_TrackbackQueue> carrot_TrackbackQueues
		{
			get
			{
				return this.GetTable<carrot_TrackbackQueue>();
			}
		}
		
		public System.Data.Linq.Table<vw_carrot_TrackbackQueue> vw_carrot_TrackbackQueues
		{
			get
			{
				return this.GetTable<vw_carrot_TrackbackQueue>();
			}
		}
		
		public System.Data.Linq.Table<vw_carrot_ContentChild> vw_carrot_ContentChilds
		{
			get
			{
				return this.GetTable<vw_carrot_ContentChild>();
			}
		}
		
		public System.Data.Linq.Table<carrot_RootContent> carrot_RootContents
		{
			get
			{
				return this.GetTable<carrot_RootContent>();
			}
		}
		
		public System.Data.Linq.Table<carrot_TextWidget> carrot_TextWidgets
		{
			get
			{
				return this.GetTable<carrot_TextWidget>();
			}
		}
		
		public System.Data.Linq.Table<carrot_RootContentSnippet> carrot_RootContentSnippets
		{
			get
			{
				return this.GetTable<carrot_RootContentSnippet>();
			}
		}
		
		public System.Data.Linq.Table<carrot_ContentSnippet> carrot_ContentSnippets
		{
			get
			{
				return this.GetTable<carrot_ContentSnippet>();
			}
		}
		
		public System.Data.Linq.Table<vw_carrot_ContentSnippet> vw_carrot_ContentSnippets
		{
			get
			{
				return this.GetTable<vw_carrot_ContentSnippet>();
			}
		}
		
		public System.Data.Linq.Table<carrot_Site> carrot_Sites
		{
			get
			{
				return this.GetTable<carrot_Site>();
			}
		}
		
		public System.Data.Linq.Table<carrot_UserData> carrot_UserDatas
		{
			get
			{
				return this.GetTable<carrot_UserData>();
			}
		}
		
		public System.Data.Linq.Table<vw_carrot_UserData> vw_carrot_UserDatas
		{
			get
			{
				return this.GetTable<vw_carrot_UserData>();
			}
		}
		
		public System.Data.Linq.Table<vw_carrot_EditorURL> vw_carrot_EditorURLs
		{
			get
			{
				return this.GetTable<vw_carrot_EditorURL>();
			}
		}
		
		public System.Data.Linq.Table<vw_carrot_TagURL> vw_carrot_TagURLs
		{
			get
			{
				return this.GetTable<vw_carrot_TagURL>();
			}
		}
		
		public System.Data.Linq.Table<vw_carrot_CategoryURL> vw_carrot_CategoryURLs
		{
			get
			{
				return this.GetTable<vw_carrot_CategoryURL>();
			}
		}
		
		public System.Data.Linq.Table<carrot_Content> carrot_Contents
		{
			get
			{
				return this.GetTable<carrot_Content>();
			}
		}
		
		public System.Data.Linq.Table<vw_carrot_EditHistory> vw_carrot_EditHistories
		{
			get
			{
				return this.GetTable<vw_carrot_EditHistory>();
			}
		}
		
		public System.Data.Linq.Table<vw_carrot_Content> vw_carrot_Contents
		{
			get
			{
				return this.GetTable<vw_carrot_Content>();
			}
		}
		
		public System.Data.Linq.Table<aspnet_UsersInRole> aspnet_UsersInRoles
		{
			get
			{
				return this.GetTable<aspnet_UsersInRole>();
			}
		}
		
		[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.carrot_BlogDateFilenameUpdate")]
		public int carrot_BlogDateFilenameUpdate([global::System.Data.Linq.Mapping.ParameterAttribute(Name="SiteID", DbType="UniqueIdentifier")] System.Nullable<System.Guid> siteID)
		{
			IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), siteID);
			return ((int)(result.ReturnValue));
		}
		
		[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.carrot_UpdateGoLiveLocal")]
		public int carrot_UpdateGoLiveLocal([global::System.Data.Linq.Mapping.ParameterAttribute(Name="SiteID", DbType="UniqueIdentifier")] System.Nullable<System.Guid> siteID, [global::System.Data.Linq.Mapping.ParameterAttribute(DbType="Xml")] System.Xml.Linq.XElement xmlDocument)
		{
			IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), siteID, xmlDocument);
			return ((int)(result.ReturnValue));
		}
		
		[global::System.Data.Linq.Mapping.FunctionAttribute(Name="dbo.carrot_BlogMonthlyTallies")]
		public ISingleResult<carrot_ContentTally> carrot_BlogMonthlyTallies([global::System.Data.Linq.Mapping.ParameterAttribute(Name="SiteID", DbType="UniqueIdentifier")] System.Nullable<System.Guid> siteID, [global::System.Data.Linq.Mapping.ParameterAttribute(Name="ActiveOnly", DbType="Bit")] System.Nullable<bool> activeOnly, [global::System.Data.Linq.Mapping.ParameterAttribute(Name="TakeTop", DbType="Int")] System.Nullable<int> takeTop)
		{
			IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), siteID, activeOnly, takeTop);
			return ((ISingleResult<carrot_ContentTally>)(result.ReturnValue));
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.aspnet_Users")]
	public partial class aspnet_User : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _ApplicationId;
		
		private System.Guid _UserId;
		
		private string _UserName;
		
		private string _LoweredUserName;
		
		private string _MobileAlias;
		
		private bool _IsAnonymous;
		
		private System.DateTime _LastActivityDate;
		
		private EntityRef<aspnet_Membership> _aspnet_Membership;
		
		private EntitySet<carrot_UserSiteMapping> _carrot_UserSiteMappings;
		
		private EntitySet<carrot_RootContent> _carrot_RootContents;
		
		private EntityRef<carrot_UserData> _carrot_UserData;
		
		private EntitySet<carrot_Content> _carrot_Contents;
		
		private EntitySet<carrot_Content> _carrot_Contents1;
		
		private EntitySet<aspnet_UsersInRole> _aspnet_UsersInRoles;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnApplicationIdChanging(System.Guid value);
    partial void OnApplicationIdChanged();
    partial void OnUserIdChanging(System.Guid value);
    partial void OnUserIdChanged();
    partial void OnUserNameChanging(string value);
    partial void OnUserNameChanged();
    partial void OnLoweredUserNameChanging(string value);
    partial void OnLoweredUserNameChanged();
    partial void OnMobileAliasChanging(string value);
    partial void OnMobileAliasChanged();
    partial void OnIsAnonymousChanging(bool value);
    partial void OnIsAnonymousChanged();
    partial void OnLastActivityDateChanging(System.DateTime value);
    partial void OnLastActivityDateChanged();
    #endregion
		
		public aspnet_User()
		{
			this._aspnet_Membership = default(EntityRef<aspnet_Membership>);
			this._carrot_UserSiteMappings = new EntitySet<carrot_UserSiteMapping>(new Action<carrot_UserSiteMapping>(this.attach_carrot_UserSiteMappings), new Action<carrot_UserSiteMapping>(this.detach_carrot_UserSiteMappings));
			this._carrot_RootContents = new EntitySet<carrot_RootContent>(new Action<carrot_RootContent>(this.attach_carrot_RootContents), new Action<carrot_RootContent>(this.detach_carrot_RootContents));
			this._carrot_UserData = default(EntityRef<carrot_UserData>);
			this._carrot_Contents = new EntitySet<carrot_Content>(new Action<carrot_Content>(this.attach_carrot_Contents), new Action<carrot_Content>(this.detach_carrot_Contents));
			this._carrot_Contents1 = new EntitySet<carrot_Content>(new Action<carrot_Content>(this.attach_carrot_Contents1), new Action<carrot_Content>(this.detach_carrot_Contents1));
			this._aspnet_UsersInRoles = new EntitySet<aspnet_UsersInRole>(new Action<aspnet_UsersInRole>(this.attach_aspnet_UsersInRoles), new Action<aspnet_UsersInRole>(this.detach_aspnet_UsersInRoles));
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApplicationId", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ApplicationId
		{
			get
			{
				return this._ApplicationId;
			}
			set
			{
				if ((this._ApplicationId != value))
				{
					this.OnApplicationIdChanging(value);
					this.SendPropertyChanging();
					this._ApplicationId = value;
					this.SendPropertyChanged("ApplicationId");
					this.OnApplicationIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid UserId
		{
			get
			{
				return this._UserId;
			}
			set
			{
				if ((this._UserId != value))
				{
					this.OnUserIdChanging(value);
					this.SendPropertyChanging();
					this._UserId = value;
					this.SendPropertyChanged("UserId");
					this.OnUserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string UserName
		{
			get
			{
				return this._UserName;
			}
			set
			{
				if ((this._UserName != value))
				{
					this.OnUserNameChanging(value);
					this.SendPropertyChanging();
					this._UserName = value;
					this.SendPropertyChanged("UserName");
					this.OnUserNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LoweredUserName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string LoweredUserName
		{
			get
			{
				return this._LoweredUserName;
			}
			set
			{
				if ((this._LoweredUserName != value))
				{
					this.OnLoweredUserNameChanging(value);
					this.SendPropertyChanging();
					this._LoweredUserName = value;
					this.SendPropertyChanged("LoweredUserName");
					this.OnLoweredUserNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MobileAlias", DbType="NVarChar(16)")]
		public string MobileAlias
		{
			get
			{
				return this._MobileAlias;
			}
			set
			{
				if ((this._MobileAlias != value))
				{
					this.OnMobileAliasChanging(value);
					this.SendPropertyChanging();
					this._MobileAlias = value;
					this.SendPropertyChanged("MobileAlias");
					this.OnMobileAliasChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsAnonymous", DbType="Bit NOT NULL")]
		public bool IsAnonymous
		{
			get
			{
				return this._IsAnonymous;
			}
			set
			{
				if ((this._IsAnonymous != value))
				{
					this.OnIsAnonymousChanging(value);
					this.SendPropertyChanging();
					this._IsAnonymous = value;
					this.SendPropertyChanged("IsAnonymous");
					this.OnIsAnonymousChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastActivityDate", DbType="DateTime NOT NULL")]
		public System.DateTime LastActivityDate
		{
			get
			{
				return this._LastActivityDate;
			}
			set
			{
				if ((this._LastActivityDate != value))
				{
					this.OnLastActivityDateChanging(value);
					this.SendPropertyChanging();
					this._LastActivityDate = value;
					this.SendPropertyChanged("LastActivityDate");
					this.OnLastActivityDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="aspnet_User_aspnet_Membership", Storage="_aspnet_Membership", ThisKey="UserId", OtherKey="UserId", IsUnique=true, IsForeignKey=false)]
		public aspnet_Membership aspnet_Membership
		{
			get
			{
				return this._aspnet_Membership.Entity;
			}
			set
			{
				aspnet_Membership previousValue = this._aspnet_Membership.Entity;
				if (((previousValue != value) 
							|| (this._aspnet_Membership.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._aspnet_Membership.Entity = null;
						previousValue.aspnet_User = null;
					}
					this._aspnet_Membership.Entity = value;
					if ((value != null))
					{
						value.aspnet_User = this;
					}
					this.SendPropertyChanged("aspnet_Membership");
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="aspnet_User_carrot_UserSiteMapping", Storage="_carrot_UserSiteMappings", ThisKey="UserId", OtherKey="UserId")]
		public EntitySet<carrot_UserSiteMapping> carrot_UserSiteMappings
		{
			get
			{
				return this._carrot_UserSiteMappings;
			}
			set
			{
				this._carrot_UserSiteMappings.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="aspnet_User_carrot_RootContent", Storage="_carrot_RootContents", ThisKey="UserId", OtherKey="CreateUserId")]
		public EntitySet<carrot_RootContent> carrot_RootContents
		{
			get
			{
				return this._carrot_RootContents;
			}
			set
			{
				this._carrot_RootContents.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="aspnet_User_carrot_UserData", Storage="_carrot_UserData", ThisKey="UserId", OtherKey="UserId", IsUnique=true, IsForeignKey=false)]
		public carrot_UserData carrot_UserData
		{
			get
			{
				return this._carrot_UserData.Entity;
			}
			set
			{
				carrot_UserData previousValue = this._carrot_UserData.Entity;
				if (((previousValue != value) 
							|| (this._carrot_UserData.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_UserData.Entity = null;
						previousValue.aspnet_User = null;
					}
					this._carrot_UserData.Entity = value;
					if ((value != null))
					{
						value.aspnet_User = this;
					}
					this.SendPropertyChanged("carrot_UserData");
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="aspnet_User_carrot_Content", Storage="_carrot_Contents", ThisKey="UserId", OtherKey="CreditUserId")]
		public EntitySet<carrot_Content> carrot_Contents
		{
			get
			{
				return this._carrot_Contents;
			}
			set
			{
				this._carrot_Contents.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="aspnet_User_carrot_Content1", Storage="_carrot_Contents1", ThisKey="UserId", OtherKey="EditUserId")]
		public EntitySet<carrot_Content> carrot_Contents1
		{
			get
			{
				return this._carrot_Contents1;
			}
			set
			{
				this._carrot_Contents1.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="aspnet_User_aspnet_UsersInRole", Storage="_aspnet_UsersInRoles", ThisKey="UserId", OtherKey="UserId")]
		public EntitySet<aspnet_UsersInRole> aspnet_UsersInRoles
		{
			get
			{
				return this._aspnet_UsersInRoles;
			}
			set
			{
				this._aspnet_UsersInRoles.Assign(value);
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
		
		private void attach_carrot_UserSiteMappings(carrot_UserSiteMapping entity)
		{
			this.SendPropertyChanging();
			entity.aspnet_User = this;
		}
		
		private void detach_carrot_UserSiteMappings(carrot_UserSiteMapping entity)
		{
			this.SendPropertyChanging();
			entity.aspnet_User = null;
		}
		
		private void attach_carrot_RootContents(carrot_RootContent entity)
		{
			this.SendPropertyChanging();
			entity.aspnet_User = this;
		}
		
		private void detach_carrot_RootContents(carrot_RootContent entity)
		{
			this.SendPropertyChanging();
			entity.aspnet_User = null;
		}
		
		private void attach_carrot_Contents(carrot_Content entity)
		{
			this.SendPropertyChanging();
			entity.aspnet_User = this;
		}
		
		private void detach_carrot_Contents(carrot_Content entity)
		{
			this.SendPropertyChanging();
			entity.aspnet_User = null;
		}
		
		private void attach_carrot_Contents1(carrot_Content entity)
		{
			this.SendPropertyChanging();
			entity.aspnet_User1 = this;
		}
		
		private void detach_carrot_Contents1(carrot_Content entity)
		{
			this.SendPropertyChanging();
			entity.aspnet_User1 = null;
		}
		
		private void attach_aspnet_UsersInRoles(aspnet_UsersInRole entity)
		{
			this.SendPropertyChanging();
			entity.aspnet_User = this;
		}
		
		private void detach_aspnet_UsersInRoles(aspnet_UsersInRole entity)
		{
			this.SendPropertyChanging();
			entity.aspnet_User = null;
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.aspnet_Membership")]
	public partial class aspnet_Membership : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _ApplicationId;
		
		private System.Guid _UserId;
		
		private string _Password;
		
		private int _PasswordFormat;
		
		private string _PasswordSalt;
		
		private string _MobilePIN;
		
		private string _Email;
		
		private string _LoweredEmail;
		
		private string _PasswordQuestion;
		
		private string _PasswordAnswer;
		
		private bool _IsApproved;
		
		private bool _IsLockedOut;
		
		private System.DateTime _CreateDate;
		
		private System.DateTime _LastLoginDate;
		
		private System.DateTime _LastPasswordChangedDate;
		
		private System.DateTime _LastLockoutDate;
		
		private int _FailedPasswordAttemptCount;
		
		private System.DateTime _FailedPasswordAttemptWindowStart;
		
		private int _FailedPasswordAnswerAttemptCount;
		
		private System.DateTime _FailedPasswordAnswerAttemptWindowStart;
		
		private string _Comment;
		
		private EntityRef<aspnet_User> _aspnet_User;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnApplicationIdChanging(System.Guid value);
    partial void OnApplicationIdChanged();
    partial void OnUserIdChanging(System.Guid value);
    partial void OnUserIdChanged();
    partial void OnPasswordChanging(string value);
    partial void OnPasswordChanged();
    partial void OnPasswordFormatChanging(int value);
    partial void OnPasswordFormatChanged();
    partial void OnPasswordSaltChanging(string value);
    partial void OnPasswordSaltChanged();
    partial void OnMobilePINChanging(string value);
    partial void OnMobilePINChanged();
    partial void OnEmailChanging(string value);
    partial void OnEmailChanged();
    partial void OnLoweredEmailChanging(string value);
    partial void OnLoweredEmailChanged();
    partial void OnPasswordQuestionChanging(string value);
    partial void OnPasswordQuestionChanged();
    partial void OnPasswordAnswerChanging(string value);
    partial void OnPasswordAnswerChanged();
    partial void OnIsApprovedChanging(bool value);
    partial void OnIsApprovedChanged();
    partial void OnIsLockedOutChanging(bool value);
    partial void OnIsLockedOutChanged();
    partial void OnCreateDateChanging(System.DateTime value);
    partial void OnCreateDateChanged();
    partial void OnLastLoginDateChanging(System.DateTime value);
    partial void OnLastLoginDateChanged();
    partial void OnLastPasswordChangedDateChanging(System.DateTime value);
    partial void OnLastPasswordChangedDateChanged();
    partial void OnLastLockoutDateChanging(System.DateTime value);
    partial void OnLastLockoutDateChanged();
    partial void OnFailedPasswordAttemptCountChanging(int value);
    partial void OnFailedPasswordAttemptCountChanged();
    partial void OnFailedPasswordAttemptWindowStartChanging(System.DateTime value);
    partial void OnFailedPasswordAttemptWindowStartChanged();
    partial void OnFailedPasswordAnswerAttemptCountChanging(int value);
    partial void OnFailedPasswordAnswerAttemptCountChanged();
    partial void OnFailedPasswordAnswerAttemptWindowStartChanging(System.DateTime value);
    partial void OnFailedPasswordAnswerAttemptWindowStartChanged();
    partial void OnCommentChanging(string value);
    partial void OnCommentChanged();
    #endregion
		
		public aspnet_Membership()
		{
			this._aspnet_User = default(EntityRef<aspnet_User>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApplicationId", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ApplicationId
		{
			get
			{
				return this._ApplicationId;
			}
			set
			{
				if ((this._ApplicationId != value))
				{
					this.OnApplicationIdChanging(value);
					this.SendPropertyChanging();
					this._ApplicationId = value;
					this.SendPropertyChanged("ApplicationId");
					this.OnApplicationIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid UserId
		{
			get
			{
				return this._UserId;
			}
			set
			{
				if ((this._UserId != value))
				{
					if (this._aspnet_User.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnUserIdChanging(value);
					this.SendPropertyChanging();
					this._UserId = value;
					this.SendPropertyChanged("UserId");
					this.OnUserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Password", DbType="NVarChar(128) NOT NULL", CanBeNull=false)]
		public string Password
		{
			get
			{
				return this._Password;
			}
			set
			{
				if ((this._Password != value))
				{
					this.OnPasswordChanging(value);
					this.SendPropertyChanging();
					this._Password = value;
					this.SendPropertyChanged("Password");
					this.OnPasswordChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PasswordFormat", DbType="Int NOT NULL")]
		public int PasswordFormat
		{
			get
			{
				return this._PasswordFormat;
			}
			set
			{
				if ((this._PasswordFormat != value))
				{
					this.OnPasswordFormatChanging(value);
					this.SendPropertyChanging();
					this._PasswordFormat = value;
					this.SendPropertyChanged("PasswordFormat");
					this.OnPasswordFormatChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PasswordSalt", DbType="NVarChar(128) NOT NULL", CanBeNull=false)]
		public string PasswordSalt
		{
			get
			{
				return this._PasswordSalt;
			}
			set
			{
				if ((this._PasswordSalt != value))
				{
					this.OnPasswordSaltChanging(value);
					this.SendPropertyChanging();
					this._PasswordSalt = value;
					this.SendPropertyChanged("PasswordSalt");
					this.OnPasswordSaltChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MobilePIN", DbType="NVarChar(16)")]
		public string MobilePIN
		{
			get
			{
				return this._MobilePIN;
			}
			set
			{
				if ((this._MobilePIN != value))
				{
					this.OnMobilePINChanging(value);
					this.SendPropertyChanging();
					this._MobilePIN = value;
					this.SendPropertyChanged("MobilePIN");
					this.OnMobilePINChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Email", DbType="NVarChar(256)")]
		public string Email
		{
			get
			{
				return this._Email;
			}
			set
			{
				if ((this._Email != value))
				{
					this.OnEmailChanging(value);
					this.SendPropertyChanging();
					this._Email = value;
					this.SendPropertyChanged("Email");
					this.OnEmailChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LoweredEmail", DbType="NVarChar(256)")]
		public string LoweredEmail
		{
			get
			{
				return this._LoweredEmail;
			}
			set
			{
				if ((this._LoweredEmail != value))
				{
					this.OnLoweredEmailChanging(value);
					this.SendPropertyChanging();
					this._LoweredEmail = value;
					this.SendPropertyChanged("LoweredEmail");
					this.OnLoweredEmailChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PasswordQuestion", DbType="NVarChar(256)")]
		public string PasswordQuestion
		{
			get
			{
				return this._PasswordQuestion;
			}
			set
			{
				if ((this._PasswordQuestion != value))
				{
					this.OnPasswordQuestionChanging(value);
					this.SendPropertyChanging();
					this._PasswordQuestion = value;
					this.SendPropertyChanged("PasswordQuestion");
					this.OnPasswordQuestionChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PasswordAnswer", DbType="NVarChar(128)")]
		public string PasswordAnswer
		{
			get
			{
				return this._PasswordAnswer;
			}
			set
			{
				if ((this._PasswordAnswer != value))
				{
					this.OnPasswordAnswerChanging(value);
					this.SendPropertyChanging();
					this._PasswordAnswer = value;
					this.SendPropertyChanged("PasswordAnswer");
					this.OnPasswordAnswerChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsApproved", DbType="Bit NOT NULL")]
		public bool IsApproved
		{
			get
			{
				return this._IsApproved;
			}
			set
			{
				if ((this._IsApproved != value))
				{
					this.OnIsApprovedChanging(value);
					this.SendPropertyChanging();
					this._IsApproved = value;
					this.SendPropertyChanged("IsApproved");
					this.OnIsApprovedChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsLockedOut", DbType="Bit NOT NULL")]
		public bool IsLockedOut
		{
			get
			{
				return this._IsLockedOut;
			}
			set
			{
				if ((this._IsLockedOut != value))
				{
					this.OnIsLockedOutChanging(value);
					this.SendPropertyChanging();
					this._IsLockedOut = value;
					this.SendPropertyChanged("IsLockedOut");
					this.OnIsLockedOutChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDate", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDate
		{
			get
			{
				return this._CreateDate;
			}
			set
			{
				if ((this._CreateDate != value))
				{
					this.OnCreateDateChanging(value);
					this.SendPropertyChanging();
					this._CreateDate = value;
					this.SendPropertyChanged("CreateDate");
					this.OnCreateDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastLoginDate", DbType="DateTime NOT NULL")]
		public System.DateTime LastLoginDate
		{
			get
			{
				return this._LastLoginDate;
			}
			set
			{
				if ((this._LastLoginDate != value))
				{
					this.OnLastLoginDateChanging(value);
					this.SendPropertyChanging();
					this._LastLoginDate = value;
					this.SendPropertyChanged("LastLoginDate");
					this.OnLastLoginDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastPasswordChangedDate", DbType="DateTime NOT NULL")]
		public System.DateTime LastPasswordChangedDate
		{
			get
			{
				return this._LastPasswordChangedDate;
			}
			set
			{
				if ((this._LastPasswordChangedDate != value))
				{
					this.OnLastPasswordChangedDateChanging(value);
					this.SendPropertyChanging();
					this._LastPasswordChangedDate = value;
					this.SendPropertyChanged("LastPasswordChangedDate");
					this.OnLastPasswordChangedDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastLockoutDate", DbType="DateTime NOT NULL")]
		public System.DateTime LastLockoutDate
		{
			get
			{
				return this._LastLockoutDate;
			}
			set
			{
				if ((this._LastLockoutDate != value))
				{
					this.OnLastLockoutDateChanging(value);
					this.SendPropertyChanging();
					this._LastLockoutDate = value;
					this.SendPropertyChanged("LastLockoutDate");
					this.OnLastLockoutDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FailedPasswordAttemptCount", DbType="Int NOT NULL")]
		public int FailedPasswordAttemptCount
		{
			get
			{
				return this._FailedPasswordAttemptCount;
			}
			set
			{
				if ((this._FailedPasswordAttemptCount != value))
				{
					this.OnFailedPasswordAttemptCountChanging(value);
					this.SendPropertyChanging();
					this._FailedPasswordAttemptCount = value;
					this.SendPropertyChanged("FailedPasswordAttemptCount");
					this.OnFailedPasswordAttemptCountChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FailedPasswordAttemptWindowStart", DbType="DateTime NOT NULL")]
		public System.DateTime FailedPasswordAttemptWindowStart
		{
			get
			{
				return this._FailedPasswordAttemptWindowStart;
			}
			set
			{
				if ((this._FailedPasswordAttemptWindowStart != value))
				{
					this.OnFailedPasswordAttemptWindowStartChanging(value);
					this.SendPropertyChanging();
					this._FailedPasswordAttemptWindowStart = value;
					this.SendPropertyChanged("FailedPasswordAttemptWindowStart");
					this.OnFailedPasswordAttemptWindowStartChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FailedPasswordAnswerAttemptCount", DbType="Int NOT NULL")]
		public int FailedPasswordAnswerAttemptCount
		{
			get
			{
				return this._FailedPasswordAnswerAttemptCount;
			}
			set
			{
				if ((this._FailedPasswordAnswerAttemptCount != value))
				{
					this.OnFailedPasswordAnswerAttemptCountChanging(value);
					this.SendPropertyChanging();
					this._FailedPasswordAnswerAttemptCount = value;
					this.SendPropertyChanged("FailedPasswordAnswerAttemptCount");
					this.OnFailedPasswordAnswerAttemptCountChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FailedPasswordAnswerAttemptWindowStart", DbType="DateTime NOT NULL")]
		public System.DateTime FailedPasswordAnswerAttemptWindowStart
		{
			get
			{
				return this._FailedPasswordAnswerAttemptWindowStart;
			}
			set
			{
				if ((this._FailedPasswordAnswerAttemptWindowStart != value))
				{
					this.OnFailedPasswordAnswerAttemptWindowStartChanging(value);
					this.SendPropertyChanging();
					this._FailedPasswordAnswerAttemptWindowStart = value;
					this.SendPropertyChanged("FailedPasswordAnswerAttemptWindowStart");
					this.OnFailedPasswordAnswerAttemptWindowStartChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Comment", DbType="NText", UpdateCheck=UpdateCheck.Never)]
		public string Comment
		{
			get
			{
				return this._Comment;
			}
			set
			{
				if ((this._Comment != value))
				{
					this.OnCommentChanging(value);
					this.SendPropertyChanging();
					this._Comment = value;
					this.SendPropertyChanged("Comment");
					this.OnCommentChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="aspnet_User_aspnet_Membership", Storage="_aspnet_User", ThisKey="UserId", OtherKey="UserId", IsForeignKey=true)]
		public aspnet_User aspnet_User
		{
			get
			{
				return this._aspnet_User.Entity;
			}
			set
			{
				aspnet_User previousValue = this._aspnet_User.Entity;
				if (((previousValue != value) 
							|| (this._aspnet_User.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._aspnet_User.Entity = null;
						previousValue.aspnet_Membership = null;
					}
					this._aspnet_User.Entity = value;
					if ((value != null))
					{
						value.aspnet_Membership = this;
						this._UserId = value.UserId;
					}
					else
					{
						this._UserId = default(System.Guid);
					}
					this.SendPropertyChanged("aspnet_User");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_UserSiteMapping")]
	public partial class carrot_UserSiteMapping : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _UserSiteMappingID;
		
		private System.Guid _UserId;
		
		private System.Guid _SiteID;
		
		private EntityRef<aspnet_User> _aspnet_User;
		
		private EntityRef<carrot_Site> _carrot_Site;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnUserSiteMappingIDChanging(System.Guid value);
    partial void OnUserSiteMappingIDChanged();
    partial void OnUserIdChanging(System.Guid value);
    partial void OnUserIdChanged();
    partial void OnSiteIDChanging(System.Guid value);
    partial void OnSiteIDChanged();
    #endregion
		
		public carrot_UserSiteMapping()
		{
			this._aspnet_User = default(EntityRef<aspnet_User>);
			this._carrot_Site = default(EntityRef<carrot_Site>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserSiteMappingID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid UserSiteMappingID
		{
			get
			{
				return this._UserSiteMappingID;
			}
			set
			{
				if ((this._UserSiteMappingID != value))
				{
					this.OnUserSiteMappingIDChanging(value);
					this.SendPropertyChanging();
					this._UserSiteMappingID = value;
					this.SendPropertyChanged("UserSiteMappingID");
					this.OnUserSiteMappingIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid UserId
		{
			get
			{
				return this._UserId;
			}
			set
			{
				if ((this._UserId != value))
				{
					if (this._aspnet_User.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnUserIdChanging(value);
					this.SendPropertyChanging();
					this._UserId = value;
					this.SendPropertyChanged("UserId");
					this.OnUserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					if (this._carrot_Site.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnSiteIDChanging(value);
					this.SendPropertyChanging();
					this._SiteID = value;
					this.SendPropertyChanged("SiteID");
					this.OnSiteIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="aspnet_User_carrot_UserSiteMapping", Storage="_aspnet_User", ThisKey="UserId", OtherKey="UserId", IsForeignKey=true)]
		public aspnet_User aspnet_User
		{
			get
			{
				return this._aspnet_User.Entity;
			}
			set
			{
				aspnet_User previousValue = this._aspnet_User.Entity;
				if (((previousValue != value) 
							|| (this._aspnet_User.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._aspnet_User.Entity = null;
						previousValue.carrot_UserSiteMappings.Remove(this);
					}
					this._aspnet_User.Entity = value;
					if ((value != null))
					{
						value.carrot_UserSiteMappings.Add(this);
						this._UserId = value.UserId;
					}
					else
					{
						this._UserId = default(System.Guid);
					}
					this.SendPropertyChanged("aspnet_User");
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_Site_carrot_UserSiteMapping", Storage="_carrot_Site", ThisKey="SiteID", OtherKey="SiteID", IsForeignKey=true)]
		public carrot_Site carrot_Site
		{
			get
			{
				return this._carrot_Site.Entity;
			}
			set
			{
				carrot_Site previousValue = this._carrot_Site.Entity;
				if (((previousValue != value) 
							|| (this._carrot_Site.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_Site.Entity = null;
						previousValue.carrot_UserSiteMappings.Remove(this);
					}
					this._carrot_Site.Entity = value;
					if ((value != null))
					{
						value.carrot_UserSiteMappings.Add(this);
						this._SiteID = value.SiteID;
					}
					else
					{
						this._SiteID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_Site");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_ContentTag")]
	public partial class carrot_ContentTag : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _ContentTagID;
		
		private System.Guid _SiteID;
		
		private string _TagText;
		
		private string _TagSlug;
		
		private bool _IsPublic;
		
		private EntitySet<carrot_TagContentMapping> _carrot_TagContentMappings;
		
		private EntityRef<carrot_Site> _carrot_Site;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnContentTagIDChanging(System.Guid value);
    partial void OnContentTagIDChanged();
    partial void OnSiteIDChanging(System.Guid value);
    partial void OnSiteIDChanged();
    partial void OnTagTextChanging(string value);
    partial void OnTagTextChanged();
    partial void OnTagSlugChanging(string value);
    partial void OnTagSlugChanged();
    partial void OnIsPublicChanging(bool value);
    partial void OnIsPublicChanged();
    #endregion
		
		public carrot_ContentTag()
		{
			this._carrot_TagContentMappings = new EntitySet<carrot_TagContentMapping>(new Action<carrot_TagContentMapping>(this.attach_carrot_TagContentMappings), new Action<carrot_TagContentMapping>(this.detach_carrot_TagContentMappings));
			this._carrot_Site = default(EntityRef<carrot_Site>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentTagID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid ContentTagID
		{
			get
			{
				return this._ContentTagID;
			}
			set
			{
				if ((this._ContentTagID != value))
				{
					this.OnContentTagIDChanging(value);
					this.SendPropertyChanging();
					this._ContentTagID = value;
					this.SendPropertyChanged("ContentTagID");
					this.OnContentTagIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					if (this._carrot_Site.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnSiteIDChanging(value);
					this.SendPropertyChanging();
					this._SiteID = value;
					this.SendPropertyChanged("SiteID");
					this.OnSiteIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TagText", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string TagText
		{
			get
			{
				return this._TagText;
			}
			set
			{
				if ((this._TagText != value))
				{
					this.OnTagTextChanging(value);
					this.SendPropertyChanging();
					this._TagText = value;
					this.SendPropertyChanged("TagText");
					this.OnTagTextChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TagSlug", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string TagSlug
		{
			get
			{
				return this._TagSlug;
			}
			set
			{
				if ((this._TagSlug != value))
				{
					this.OnTagSlugChanging(value);
					this.SendPropertyChanging();
					this._TagSlug = value;
					this.SendPropertyChanged("TagSlug");
					this.OnTagSlugChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsPublic", DbType="Bit NOT NULL")]
		public bool IsPublic
		{
			get
			{
				return this._IsPublic;
			}
			set
			{
				if ((this._IsPublic != value))
				{
					this.OnIsPublicChanging(value);
					this.SendPropertyChanging();
					this._IsPublic = value;
					this.SendPropertyChanged("IsPublic");
					this.OnIsPublicChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_ContentTag_carrot_TagContentMapping", Storage="_carrot_TagContentMappings", ThisKey="ContentTagID", OtherKey="ContentTagID")]
		public EntitySet<carrot_TagContentMapping> carrot_TagContentMappings
		{
			get
			{
				return this._carrot_TagContentMappings;
			}
			set
			{
				this._carrot_TagContentMappings.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_Site_carrot_ContentTag", Storage="_carrot_Site", ThisKey="SiteID", OtherKey="SiteID", IsForeignKey=true)]
		public carrot_Site carrot_Site
		{
			get
			{
				return this._carrot_Site.Entity;
			}
			set
			{
				carrot_Site previousValue = this._carrot_Site.Entity;
				if (((previousValue != value) 
							|| (this._carrot_Site.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_Site.Entity = null;
						previousValue.carrot_ContentTags.Remove(this);
					}
					this._carrot_Site.Entity = value;
					if ((value != null))
					{
						value.carrot_ContentTags.Add(this);
						this._SiteID = value.SiteID;
					}
					else
					{
						this._SiteID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_Site");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
		
		private void attach_carrot_TagContentMappings(carrot_TagContentMapping entity)
		{
			this.SendPropertyChanging();
			entity.carrot_ContentTag = this;
		}
		
		private void detach_carrot_TagContentMappings(carrot_TagContentMapping entity)
		{
			this.SendPropertyChanging();
			entity.carrot_ContentTag = null;
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_ContentCategory")]
	public partial class carrot_ContentCategory : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _ContentCategoryID;
		
		private System.Guid _SiteID;
		
		private string _CategoryText;
		
		private string _CategorySlug;
		
		private bool _IsPublic;
		
		private EntitySet<carrot_CategoryContentMapping> _carrot_CategoryContentMappings;
		
		private EntityRef<carrot_Site> _carrot_Site;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnContentCategoryIDChanging(System.Guid value);
    partial void OnContentCategoryIDChanged();
    partial void OnSiteIDChanging(System.Guid value);
    partial void OnSiteIDChanged();
    partial void OnCategoryTextChanging(string value);
    partial void OnCategoryTextChanged();
    partial void OnCategorySlugChanging(string value);
    partial void OnCategorySlugChanged();
    partial void OnIsPublicChanging(bool value);
    partial void OnIsPublicChanged();
    #endregion
		
		public carrot_ContentCategory()
		{
			this._carrot_CategoryContentMappings = new EntitySet<carrot_CategoryContentMapping>(new Action<carrot_CategoryContentMapping>(this.attach_carrot_CategoryContentMappings), new Action<carrot_CategoryContentMapping>(this.detach_carrot_CategoryContentMappings));
			this._carrot_Site = default(EntityRef<carrot_Site>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentCategoryID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid ContentCategoryID
		{
			get
			{
				return this._ContentCategoryID;
			}
			set
			{
				if ((this._ContentCategoryID != value))
				{
					this.OnContentCategoryIDChanging(value);
					this.SendPropertyChanging();
					this._ContentCategoryID = value;
					this.SendPropertyChanged("ContentCategoryID");
					this.OnContentCategoryIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					if (this._carrot_Site.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnSiteIDChanging(value);
					this.SendPropertyChanging();
					this._SiteID = value;
					this.SendPropertyChanged("SiteID");
					this.OnSiteIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CategoryText", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string CategoryText
		{
			get
			{
				return this._CategoryText;
			}
			set
			{
				if ((this._CategoryText != value))
				{
					this.OnCategoryTextChanging(value);
					this.SendPropertyChanging();
					this._CategoryText = value;
					this.SendPropertyChanged("CategoryText");
					this.OnCategoryTextChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CategorySlug", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string CategorySlug
		{
			get
			{
				return this._CategorySlug;
			}
			set
			{
				if ((this._CategorySlug != value))
				{
					this.OnCategorySlugChanging(value);
					this.SendPropertyChanging();
					this._CategorySlug = value;
					this.SendPropertyChanged("CategorySlug");
					this.OnCategorySlugChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsPublic", DbType="Bit NOT NULL")]
		public bool IsPublic
		{
			get
			{
				return this._IsPublic;
			}
			set
			{
				if ((this._IsPublic != value))
				{
					this.OnIsPublicChanging(value);
					this.SendPropertyChanging();
					this._IsPublic = value;
					this.SendPropertyChanged("IsPublic");
					this.OnIsPublicChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_ContentCategory_carrot_CategoryContentMapping", Storage="_carrot_CategoryContentMappings", ThisKey="ContentCategoryID", OtherKey="ContentCategoryID")]
		public EntitySet<carrot_CategoryContentMapping> carrot_CategoryContentMappings
		{
			get
			{
				return this._carrot_CategoryContentMappings;
			}
			set
			{
				this._carrot_CategoryContentMappings.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_Site_carrot_ContentCategory", Storage="_carrot_Site", ThisKey="SiteID", OtherKey="SiteID", IsForeignKey=true)]
		public carrot_Site carrot_Site
		{
			get
			{
				return this._carrot_Site.Entity;
			}
			set
			{
				carrot_Site previousValue = this._carrot_Site.Entity;
				if (((previousValue != value) 
							|| (this._carrot_Site.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_Site.Entity = null;
						previousValue.carrot_ContentCategories.Remove(this);
					}
					this._carrot_Site.Entity = value;
					if ((value != null))
					{
						value.carrot_ContentCategories.Add(this);
						this._SiteID = value.SiteID;
					}
					else
					{
						this._SiteID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_Site");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
		
		private void attach_carrot_CategoryContentMappings(carrot_CategoryContentMapping entity)
		{
			this.SendPropertyChanging();
			entity.carrot_ContentCategory = this;
		}
		
		private void detach_carrot_CategoryContentMappings(carrot_CategoryContentMapping entity)
		{
			this.SendPropertyChanging();
			entity.carrot_ContentCategory = null;
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_CategoryContentMapping")]
	public partial class carrot_CategoryContentMapping : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _CategoryContentMappingID;
		
		private System.Guid _ContentCategoryID;
		
		private System.Guid _Root_ContentID;
		
		private EntityRef<carrot_ContentCategory> _carrot_ContentCategory;
		
		private EntityRef<carrot_RootContent> _carrot_RootContent;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnCategoryContentMappingIDChanging(System.Guid value);
    partial void OnCategoryContentMappingIDChanged();
    partial void OnContentCategoryIDChanging(System.Guid value);
    partial void OnContentCategoryIDChanged();
    partial void OnRoot_ContentIDChanging(System.Guid value);
    partial void OnRoot_ContentIDChanged();
    #endregion
		
		public carrot_CategoryContentMapping()
		{
			this._carrot_ContentCategory = default(EntityRef<carrot_ContentCategory>);
			this._carrot_RootContent = default(EntityRef<carrot_RootContent>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CategoryContentMappingID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid CategoryContentMappingID
		{
			get
			{
				return this._CategoryContentMappingID;
			}
			set
			{
				if ((this._CategoryContentMappingID != value))
				{
					this.OnCategoryContentMappingIDChanging(value);
					this.SendPropertyChanging();
					this._CategoryContentMappingID = value;
					this.SendPropertyChanged("CategoryContentMappingID");
					this.OnCategoryContentMappingIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentCategoryID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ContentCategoryID
		{
			get
			{
				return this._ContentCategoryID;
			}
			set
			{
				if ((this._ContentCategoryID != value))
				{
					if (this._carrot_ContentCategory.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnContentCategoryIDChanging(value);
					this.SendPropertyChanging();
					this._ContentCategoryID = value;
					this.SendPropertyChanged("ContentCategoryID");
					this.OnContentCategoryIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_ContentID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Root_ContentID
		{
			get
			{
				return this._Root_ContentID;
			}
			set
			{
				if ((this._Root_ContentID != value))
				{
					if (this._carrot_RootContent.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnRoot_ContentIDChanging(value);
					this.SendPropertyChanging();
					this._Root_ContentID = value;
					this.SendPropertyChanged("Root_ContentID");
					this.OnRoot_ContentIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_ContentCategory_carrot_CategoryContentMapping", Storage="_carrot_ContentCategory", ThisKey="ContentCategoryID", OtherKey="ContentCategoryID", IsForeignKey=true)]
		public carrot_ContentCategory carrot_ContentCategory
		{
			get
			{
				return this._carrot_ContentCategory.Entity;
			}
			set
			{
				carrot_ContentCategory previousValue = this._carrot_ContentCategory.Entity;
				if (((previousValue != value) 
							|| (this._carrot_ContentCategory.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_ContentCategory.Entity = null;
						previousValue.carrot_CategoryContentMappings.Remove(this);
					}
					this._carrot_ContentCategory.Entity = value;
					if ((value != null))
					{
						value.carrot_CategoryContentMappings.Add(this);
						this._ContentCategoryID = value.ContentCategoryID;
					}
					else
					{
						this._ContentCategoryID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_ContentCategory");
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_RootContent_carrot_CategoryContentMapping", Storage="_carrot_RootContent", ThisKey="Root_ContentID", OtherKey="Root_ContentID", IsForeignKey=true)]
		public carrot_RootContent carrot_RootContent
		{
			get
			{
				return this._carrot_RootContent.Entity;
			}
			set
			{
				carrot_RootContent previousValue = this._carrot_RootContent.Entity;
				if (((previousValue != value) 
							|| (this._carrot_RootContent.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_RootContent.Entity = null;
						previousValue.carrot_CategoryContentMappings.Remove(this);
					}
					this._carrot_RootContent.Entity = value;
					if ((value != null))
					{
						value.carrot_CategoryContentMappings.Add(this);
						this._Root_ContentID = value.Root_ContentID;
					}
					else
					{
						this._Root_ContentID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_RootContent");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_TagContentMapping")]
	public partial class carrot_TagContentMapping : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _TagContentMappingID;
		
		private System.Guid _ContentTagID;
		
		private System.Guid _Root_ContentID;
		
		private EntityRef<carrot_ContentTag> _carrot_ContentTag;
		
		private EntityRef<carrot_RootContent> _carrot_RootContent;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnTagContentMappingIDChanging(System.Guid value);
    partial void OnTagContentMappingIDChanged();
    partial void OnContentTagIDChanging(System.Guid value);
    partial void OnContentTagIDChanged();
    partial void OnRoot_ContentIDChanging(System.Guid value);
    partial void OnRoot_ContentIDChanged();
    #endregion
		
		public carrot_TagContentMapping()
		{
			this._carrot_ContentTag = default(EntityRef<carrot_ContentTag>);
			this._carrot_RootContent = default(EntityRef<carrot_RootContent>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TagContentMappingID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid TagContentMappingID
		{
			get
			{
				return this._TagContentMappingID;
			}
			set
			{
				if ((this._TagContentMappingID != value))
				{
					this.OnTagContentMappingIDChanging(value);
					this.SendPropertyChanging();
					this._TagContentMappingID = value;
					this.SendPropertyChanged("TagContentMappingID");
					this.OnTagContentMappingIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentTagID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ContentTagID
		{
			get
			{
				return this._ContentTagID;
			}
			set
			{
				if ((this._ContentTagID != value))
				{
					if (this._carrot_ContentTag.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnContentTagIDChanging(value);
					this.SendPropertyChanging();
					this._ContentTagID = value;
					this.SendPropertyChanged("ContentTagID");
					this.OnContentTagIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_ContentID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Root_ContentID
		{
			get
			{
				return this._Root_ContentID;
			}
			set
			{
				if ((this._Root_ContentID != value))
				{
					if (this._carrot_RootContent.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnRoot_ContentIDChanging(value);
					this.SendPropertyChanging();
					this._Root_ContentID = value;
					this.SendPropertyChanged("Root_ContentID");
					this.OnRoot_ContentIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_ContentTag_carrot_TagContentMapping", Storage="_carrot_ContentTag", ThisKey="ContentTagID", OtherKey="ContentTagID", IsForeignKey=true)]
		public carrot_ContentTag carrot_ContentTag
		{
			get
			{
				return this._carrot_ContentTag.Entity;
			}
			set
			{
				carrot_ContentTag previousValue = this._carrot_ContentTag.Entity;
				if (((previousValue != value) 
							|| (this._carrot_ContentTag.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_ContentTag.Entity = null;
						previousValue.carrot_TagContentMappings.Remove(this);
					}
					this._carrot_ContentTag.Entity = value;
					if ((value != null))
					{
						value.carrot_TagContentMappings.Add(this);
						this._ContentTagID = value.ContentTagID;
					}
					else
					{
						this._ContentTagID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_ContentTag");
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_RootContent_carrot_TagContentMapping", Storage="_carrot_RootContent", ThisKey="Root_ContentID", OtherKey="Root_ContentID", IsForeignKey=true)]
		public carrot_RootContent carrot_RootContent
		{
			get
			{
				return this._carrot_RootContent.Entity;
			}
			set
			{
				carrot_RootContent previousValue = this._carrot_RootContent.Entity;
				if (((previousValue != value) 
							|| (this._carrot_RootContent.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_RootContent.Entity = null;
						previousValue.carrot_TagContentMappings.Remove(this);
					}
					this._carrot_RootContent.Entity = value;
					if ((value != null))
					{
						value.carrot_TagContentMappings.Add(this);
						this._Root_ContentID = value.Root_ContentID;
					}
					else
					{
						this._Root_ContentID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_RootContent");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.vw_carrot_TagCounted")]
	public partial class vw_carrot_TagCounted
	{
		
		private System.Guid _ContentTagID;
		
		private System.Guid _SiteID;
		
		private string _TagText;
		
		private bool _IsPublic;
		
		private string _TagSlug;
		
		private int _UseCount;
		
		public vw_carrot_TagCounted()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentTagID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ContentTagID
		{
			get
			{
				return this._ContentTagID;
			}
			set
			{
				if ((this._ContentTagID != value))
				{
					this._ContentTagID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					this._SiteID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TagText", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string TagText
		{
			get
			{
				return this._TagText;
			}
			set
			{
				if ((this._TagText != value))
				{
					this._TagText = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsPublic", DbType="Bit NOT NULL")]
		public bool IsPublic
		{
			get
			{
				return this._IsPublic;
			}
			set
			{
				if ((this._IsPublic != value))
				{
					this._IsPublic = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TagSlug", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string TagSlug
		{
			get
			{
				return this._TagSlug;
			}
			set
			{
				if ((this._TagSlug != value))
				{
					this._TagSlug = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UseCount", DbType="Int NOT NULL")]
		public int UseCount
		{
			get
			{
				return this._UseCount;
			}
			set
			{
				if ((this._UseCount != value))
				{
					this._UseCount = value;
				}
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.vw_carrot_CategoryCounted")]
	public partial class vw_carrot_CategoryCounted
	{
		
		private System.Guid _ContentCategoryID;
		
		private System.Guid _SiteID;
		
		private string _CategoryText;
		
		private bool _IsPublic;
		
		private string _CategorySlug;
		
		private int _UseCount;
		
		public vw_carrot_CategoryCounted()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentCategoryID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ContentCategoryID
		{
			get
			{
				return this._ContentCategoryID;
			}
			set
			{
				if ((this._ContentCategoryID != value))
				{
					this._ContentCategoryID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					this._SiteID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CategoryText", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string CategoryText
		{
			get
			{
				return this._CategoryText;
			}
			set
			{
				if ((this._CategoryText != value))
				{
					this._CategoryText = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsPublic", DbType="Bit NOT NULL")]
		public bool IsPublic
		{
			get
			{
				return this._IsPublic;
			}
			set
			{
				if ((this._IsPublic != value))
				{
					this._IsPublic = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CategorySlug", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string CategorySlug
		{
			get
			{
				return this._CategorySlug;
			}
			set
			{
				if ((this._CategorySlug != value))
				{
					this._CategorySlug = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UseCount", DbType="Int NOT NULL")]
		public int UseCount
		{
			get
			{
				return this._UseCount;
			}
			set
			{
				if ((this._UseCount != value))
				{
					this._UseCount = value;
				}
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.aspnet_Roles")]
	public partial class aspnet_Role : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _ApplicationId;
		
		private System.Guid _RoleId;
		
		private string _RoleName;
		
		private string _LoweredRoleName;
		
		private string _Description;
		
		private EntitySet<aspnet_UsersInRole> _aspnet_UsersInRoles;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnApplicationIdChanging(System.Guid value);
    partial void OnApplicationIdChanged();
    partial void OnRoleIdChanging(System.Guid value);
    partial void OnRoleIdChanged();
    partial void OnRoleNameChanging(string value);
    partial void OnRoleNameChanged();
    partial void OnLoweredRoleNameChanging(string value);
    partial void OnLoweredRoleNameChanged();
    partial void OnDescriptionChanging(string value);
    partial void OnDescriptionChanged();
    #endregion
		
		public aspnet_Role()
		{
			this._aspnet_UsersInRoles = new EntitySet<aspnet_UsersInRole>(new Action<aspnet_UsersInRole>(this.attach_aspnet_UsersInRoles), new Action<aspnet_UsersInRole>(this.detach_aspnet_UsersInRoles));
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApplicationId", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ApplicationId
		{
			get
			{
				return this._ApplicationId;
			}
			set
			{
				if ((this._ApplicationId != value))
				{
					this.OnApplicationIdChanging(value);
					this.SendPropertyChanging();
					this._ApplicationId = value;
					this.SendPropertyChanged("ApplicationId");
					this.OnApplicationIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RoleId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid RoleId
		{
			get
			{
				return this._RoleId;
			}
			set
			{
				if ((this._RoleId != value))
				{
					this.OnRoleIdChanging(value);
					this.SendPropertyChanging();
					this._RoleId = value;
					this.SendPropertyChanged("RoleId");
					this.OnRoleIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RoleName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string RoleName
		{
			get
			{
				return this._RoleName;
			}
			set
			{
				if ((this._RoleName != value))
				{
					this.OnRoleNameChanging(value);
					this.SendPropertyChanging();
					this._RoleName = value;
					this.SendPropertyChanged("RoleName");
					this.OnRoleNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LoweredRoleName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string LoweredRoleName
		{
			get
			{
				return this._LoweredRoleName;
			}
			set
			{
				if ((this._LoweredRoleName != value))
				{
					this.OnLoweredRoleNameChanging(value);
					this.SendPropertyChanging();
					this._LoweredRoleName = value;
					this.SendPropertyChanged("LoweredRoleName");
					this.OnLoweredRoleNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Description", DbType="NVarChar(256)")]
		public string Description
		{
			get
			{
				return this._Description;
			}
			set
			{
				if ((this._Description != value))
				{
					this.OnDescriptionChanging(value);
					this.SendPropertyChanging();
					this._Description = value;
					this.SendPropertyChanged("Description");
					this.OnDescriptionChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="aspnet_Role_aspnet_UsersInRole", Storage="_aspnet_UsersInRoles", ThisKey="RoleId", OtherKey="RoleId")]
		public EntitySet<aspnet_UsersInRole> aspnet_UsersInRoles
		{
			get
			{
				return this._aspnet_UsersInRoles;
			}
			set
			{
				this._aspnet_UsersInRoles.Assign(value);
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
		
		private void attach_aspnet_UsersInRoles(aspnet_UsersInRole entity)
		{
			this.SendPropertyChanging();
			entity.aspnet_Role = this;
		}
		
		private void detach_aspnet_UsersInRoles(aspnet_UsersInRole entity)
		{
			this.SendPropertyChanging();
			entity.aspnet_Role = null;
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_ContentType")]
	public partial class carrot_ContentType : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _ContentTypeID;
		
		private string _ContentTypeValue;
		
		private EntitySet<carrot_RootContent> _carrot_RootContents;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnContentTypeIDChanging(System.Guid value);
    partial void OnContentTypeIDChanged();
    partial void OnContentTypeValueChanging(string value);
    partial void OnContentTypeValueChanged();
    #endregion
		
		public carrot_ContentType()
		{
			this._carrot_RootContents = new EntitySet<carrot_RootContent>(new Action<carrot_RootContent>(this.attach_carrot_RootContents), new Action<carrot_RootContent>(this.detach_carrot_RootContents));
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentTypeID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid ContentTypeID
		{
			get
			{
				return this._ContentTypeID;
			}
			set
			{
				if ((this._ContentTypeID != value))
				{
					this.OnContentTypeIDChanging(value);
					this.SendPropertyChanging();
					this._ContentTypeID = value;
					this.SendPropertyChanged("ContentTypeID");
					this.OnContentTypeIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentTypeValue", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string ContentTypeValue
		{
			get
			{
				return this._ContentTypeValue;
			}
			set
			{
				if ((this._ContentTypeValue != value))
				{
					this.OnContentTypeValueChanging(value);
					this.SendPropertyChanging();
					this._ContentTypeValue = value;
					this.SendPropertyChanged("ContentTypeValue");
					this.OnContentTypeValueChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_ContentType_carrot_RootContent", Storage="_carrot_RootContents", ThisKey="ContentTypeID", OtherKey="ContentTypeID")]
		public EntitySet<carrot_RootContent> carrot_RootContents
		{
			get
			{
				return this._carrot_RootContents;
			}
			set
			{
				this._carrot_RootContents.Assign(value);
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
		
		private void attach_carrot_RootContents(carrot_RootContent entity)
		{
			this.SendPropertyChanging();
			entity.carrot_ContentType = this;
		}
		
		private void detach_carrot_RootContents(carrot_RootContent entity)
		{
			this.SendPropertyChanging();
			entity.carrot_ContentType = null;
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_WidgetData")]
	public partial class carrot_WidgetData : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _WidgetDataID;
		
		private System.Guid _Root_WidgetID;
		
		private bool _IsLatestVersion;
		
		private System.DateTime _EditDate;
		
		private string _ControlProperties;
		
		private EntityRef<carrot_Widget> _carrot_Widget;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnWidgetDataIDChanging(System.Guid value);
    partial void OnWidgetDataIDChanged();
    partial void OnRoot_WidgetIDChanging(System.Guid value);
    partial void OnRoot_WidgetIDChanged();
    partial void OnIsLatestVersionChanging(bool value);
    partial void OnIsLatestVersionChanged();
    partial void OnEditDateChanging(System.DateTime value);
    partial void OnEditDateChanged();
    partial void OnControlPropertiesChanging(string value);
    partial void OnControlPropertiesChanged();
    #endregion
		
		public carrot_WidgetData()
		{
			this._carrot_Widget = default(EntityRef<carrot_Widget>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WidgetDataID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid WidgetDataID
		{
			get
			{
				return this._WidgetDataID;
			}
			set
			{
				if ((this._WidgetDataID != value))
				{
					this.OnWidgetDataIDChanging(value);
					this.SendPropertyChanging();
					this._WidgetDataID = value;
					this.SendPropertyChanged("WidgetDataID");
					this.OnWidgetDataIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_WidgetID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Root_WidgetID
		{
			get
			{
				return this._Root_WidgetID;
			}
			set
			{
				if ((this._Root_WidgetID != value))
				{
					if (this._carrot_Widget.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnRoot_WidgetIDChanging(value);
					this.SendPropertyChanging();
					this._Root_WidgetID = value;
					this.SendPropertyChanged("Root_WidgetID");
					this.OnRoot_WidgetIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsLatestVersion", DbType="Bit NOT NULL")]
		public bool IsLatestVersion
		{
			get
			{
				return this._IsLatestVersion;
			}
			set
			{
				if ((this._IsLatestVersion != value))
				{
					this.OnIsLatestVersionChanging(value);
					this.SendPropertyChanging();
					this._IsLatestVersion = value;
					this.SendPropertyChanged("IsLatestVersion");
					this.OnIsLatestVersionChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditDate", DbType="DateTime NOT NULL")]
		public System.DateTime EditDate
		{
			get
			{
				return this._EditDate;
			}
			set
			{
				if ((this._EditDate != value))
				{
					this.OnEditDateChanging(value);
					this.SendPropertyChanging();
					this._EditDate = value;
					this.SendPropertyChanged("EditDate");
					this.OnEditDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ControlProperties", DbType="NVarChar(MAX)")]
		public string ControlProperties
		{
			get
			{
				return this._ControlProperties;
			}
			set
			{
				if ((this._ControlProperties != value))
				{
					this.OnControlPropertiesChanging(value);
					this.SendPropertyChanging();
					this._ControlProperties = value;
					this.SendPropertyChanged("ControlProperties");
					this.OnControlPropertiesChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_Widget_carrot_WidgetData", Storage="_carrot_Widget", ThisKey="Root_WidgetID", OtherKey="Root_WidgetID", IsForeignKey=true)]
		public carrot_Widget carrot_Widget
		{
			get
			{
				return this._carrot_Widget.Entity;
			}
			set
			{
				carrot_Widget previousValue = this._carrot_Widget.Entity;
				if (((previousValue != value) 
							|| (this._carrot_Widget.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_Widget.Entity = null;
						previousValue.carrot_WidgetDatas.Remove(this);
					}
					this._carrot_Widget.Entity = value;
					if ((value != null))
					{
						value.carrot_WidgetDatas.Add(this);
						this._Root_WidgetID = value.Root_WidgetID;
					}
					else
					{
						this._Root_WidgetID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_Widget");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_Widget")]
	public partial class carrot_Widget : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _Root_WidgetID;
		
		private System.Guid _Root_ContentID;
		
		private int _WidgetOrder;
		
		private string _PlaceholderName;
		
		private string _ControlPath;
		
		private bool _WidgetActive;
		
		private System.DateTime _RetireDate;
		
		private System.DateTime _GoLiveDate;
		
		private EntitySet<carrot_WidgetData> _carrot_WidgetDatas;
		
		private EntityRef<carrot_RootContent> _carrot_RootContent;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnRoot_WidgetIDChanging(System.Guid value);
    partial void OnRoot_WidgetIDChanged();
    partial void OnRoot_ContentIDChanging(System.Guid value);
    partial void OnRoot_ContentIDChanged();
    partial void OnWidgetOrderChanging(int value);
    partial void OnWidgetOrderChanged();
    partial void OnPlaceholderNameChanging(string value);
    partial void OnPlaceholderNameChanged();
    partial void OnControlPathChanging(string value);
    partial void OnControlPathChanged();
    partial void OnWidgetActiveChanging(bool value);
    partial void OnWidgetActiveChanged();
    partial void OnRetireDateChanging(System.DateTime value);
    partial void OnRetireDateChanged();
    partial void OnGoLiveDateChanging(System.DateTime value);
    partial void OnGoLiveDateChanged();
    #endregion
		
		public carrot_Widget()
		{
			this._carrot_WidgetDatas = new EntitySet<carrot_WidgetData>(new Action<carrot_WidgetData>(this.attach_carrot_WidgetDatas), new Action<carrot_WidgetData>(this.detach_carrot_WidgetDatas));
			this._carrot_RootContent = default(EntityRef<carrot_RootContent>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_WidgetID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid Root_WidgetID
		{
			get
			{
				return this._Root_WidgetID;
			}
			set
			{
				if ((this._Root_WidgetID != value))
				{
					this.OnRoot_WidgetIDChanging(value);
					this.SendPropertyChanging();
					this._Root_WidgetID = value;
					this.SendPropertyChanged("Root_WidgetID");
					this.OnRoot_WidgetIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_ContentID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Root_ContentID
		{
			get
			{
				return this._Root_ContentID;
			}
			set
			{
				if ((this._Root_ContentID != value))
				{
					if (this._carrot_RootContent.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnRoot_ContentIDChanging(value);
					this.SendPropertyChanging();
					this._Root_ContentID = value;
					this.SendPropertyChanged("Root_ContentID");
					this.OnRoot_ContentIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WidgetOrder", DbType="Int NOT NULL")]
		public int WidgetOrder
		{
			get
			{
				return this._WidgetOrder;
			}
			set
			{
				if ((this._WidgetOrder != value))
				{
					this.OnWidgetOrderChanging(value);
					this.SendPropertyChanging();
					this._WidgetOrder = value;
					this.SendPropertyChanged("WidgetOrder");
					this.OnWidgetOrderChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PlaceholderName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string PlaceholderName
		{
			get
			{
				return this._PlaceholderName;
			}
			set
			{
				if ((this._PlaceholderName != value))
				{
					this.OnPlaceholderNameChanging(value);
					this.SendPropertyChanging();
					this._PlaceholderName = value;
					this.SendPropertyChanged("PlaceholderName");
					this.OnPlaceholderNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ControlPath", DbType="NVarChar(512) NOT NULL", CanBeNull=false)]
		public string ControlPath
		{
			get
			{
				return this._ControlPath;
			}
			set
			{
				if ((this._ControlPath != value))
				{
					this.OnControlPathChanging(value);
					this.SendPropertyChanging();
					this._ControlPath = value;
					this.SendPropertyChanged("ControlPath");
					this.OnControlPathChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WidgetActive", DbType="Bit NOT NULL")]
		public bool WidgetActive
		{
			get
			{
				return this._WidgetActive;
			}
			set
			{
				if ((this._WidgetActive != value))
				{
					this.OnWidgetActiveChanging(value);
					this.SendPropertyChanging();
					this._WidgetActive = value;
					this.SendPropertyChanged("WidgetActive");
					this.OnWidgetActiveChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RetireDate", DbType="DateTime NOT NULL")]
		public System.DateTime RetireDate
		{
			get
			{
				return this._RetireDate;
			}
			set
			{
				if ((this._RetireDate != value))
				{
					this.OnRetireDateChanging(value);
					this.SendPropertyChanging();
					this._RetireDate = value;
					this.SendPropertyChanged("RetireDate");
					this.OnRetireDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GoLiveDate", DbType="DateTime NOT NULL")]
		public System.DateTime GoLiveDate
		{
			get
			{
				return this._GoLiveDate;
			}
			set
			{
				if ((this._GoLiveDate != value))
				{
					this.OnGoLiveDateChanging(value);
					this.SendPropertyChanging();
					this._GoLiveDate = value;
					this.SendPropertyChanged("GoLiveDate");
					this.OnGoLiveDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_Widget_carrot_WidgetData", Storage="_carrot_WidgetDatas", ThisKey="Root_WidgetID", OtherKey="Root_WidgetID")]
		public EntitySet<carrot_WidgetData> carrot_WidgetDatas
		{
			get
			{
				return this._carrot_WidgetDatas;
			}
			set
			{
				this._carrot_WidgetDatas.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_RootContent_carrot_Widget", Storage="_carrot_RootContent", ThisKey="Root_ContentID", OtherKey="Root_ContentID", IsForeignKey=true)]
		public carrot_RootContent carrot_RootContent
		{
			get
			{
				return this._carrot_RootContent.Entity;
			}
			set
			{
				carrot_RootContent previousValue = this._carrot_RootContent.Entity;
				if (((previousValue != value) 
							|| (this._carrot_RootContent.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_RootContent.Entity = null;
						previousValue.carrot_Widgets.Remove(this);
					}
					this._carrot_RootContent.Entity = value;
					if ((value != null))
					{
						value.carrot_Widgets.Add(this);
						this._Root_ContentID = value.Root_ContentID;
					}
					else
					{
						this._Root_ContentID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_RootContent");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
		
		private void attach_carrot_WidgetDatas(carrot_WidgetData entity)
		{
			this.SendPropertyChanging();
			entity.carrot_Widget = this;
		}
		
		private void detach_carrot_WidgetDatas(carrot_WidgetData entity)
		{
			this.SendPropertyChanging();
			entity.carrot_Widget = null;
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_ContentComment")]
	public partial class carrot_ContentComment : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _ContentCommentID;
		
		private System.Guid _Root_ContentID;
		
		private System.DateTime _CreateDate;
		
		private string _CommenterIP;
		
		private string _CommenterName;
		
		private string _CommenterEmail;
		
		private string _PostComment;
		
		private bool _IsApproved;
		
		private bool _IsSpam;
		
		private string _CommenterURL;
		
		private EntityRef<carrot_RootContent> _carrot_RootContent;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnContentCommentIDChanging(System.Guid value);
    partial void OnContentCommentIDChanged();
    partial void OnRoot_ContentIDChanging(System.Guid value);
    partial void OnRoot_ContentIDChanged();
    partial void OnCreateDateChanging(System.DateTime value);
    partial void OnCreateDateChanged();
    partial void OnCommenterIPChanging(string value);
    partial void OnCommenterIPChanged();
    partial void OnCommenterNameChanging(string value);
    partial void OnCommenterNameChanged();
    partial void OnCommenterEmailChanging(string value);
    partial void OnCommenterEmailChanged();
    partial void OnPostCommentChanging(string value);
    partial void OnPostCommentChanged();
    partial void OnIsApprovedChanging(bool value);
    partial void OnIsApprovedChanged();
    partial void OnIsSpamChanging(bool value);
    partial void OnIsSpamChanged();
    partial void OnCommenterURLChanging(string value);
    partial void OnCommenterURLChanged();
    #endregion
		
		public carrot_ContentComment()
		{
			this._carrot_RootContent = default(EntityRef<carrot_RootContent>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentCommentID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid ContentCommentID
		{
			get
			{
				return this._ContentCommentID;
			}
			set
			{
				if ((this._ContentCommentID != value))
				{
					this.OnContentCommentIDChanging(value);
					this.SendPropertyChanging();
					this._ContentCommentID = value;
					this.SendPropertyChanged("ContentCommentID");
					this.OnContentCommentIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_ContentID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Root_ContentID
		{
			get
			{
				return this._Root_ContentID;
			}
			set
			{
				if ((this._Root_ContentID != value))
				{
					if (this._carrot_RootContent.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnRoot_ContentIDChanging(value);
					this.SendPropertyChanging();
					this._Root_ContentID = value;
					this.SendPropertyChanged("Root_ContentID");
					this.OnRoot_ContentIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDate", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDate
		{
			get
			{
				return this._CreateDate;
			}
			set
			{
				if ((this._CreateDate != value))
				{
					this.OnCreateDateChanging(value);
					this.SendPropertyChanging();
					this._CreateDate = value;
					this.SendPropertyChanged("CreateDate");
					this.OnCreateDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CommenterIP", DbType="NVarChar(32) NOT NULL", CanBeNull=false)]
		public string CommenterIP
		{
			get
			{
				return this._CommenterIP;
			}
			set
			{
				if ((this._CommenterIP != value))
				{
					this.OnCommenterIPChanging(value);
					this.SendPropertyChanging();
					this._CommenterIP = value;
					this.SendPropertyChanged("CommenterIP");
					this.OnCommenterIPChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CommenterName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string CommenterName
		{
			get
			{
				return this._CommenterName;
			}
			set
			{
				if ((this._CommenterName != value))
				{
					this.OnCommenterNameChanging(value);
					this.SendPropertyChanging();
					this._CommenterName = value;
					this.SendPropertyChanged("CommenterName");
					this.OnCommenterNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CommenterEmail", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string CommenterEmail
		{
			get
			{
				return this._CommenterEmail;
			}
			set
			{
				if ((this._CommenterEmail != value))
				{
					this.OnCommenterEmailChanging(value);
					this.SendPropertyChanging();
					this._CommenterEmail = value;
					this.SendPropertyChanged("CommenterEmail");
					this.OnCommenterEmailChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PostComment", DbType="NVarChar(MAX)")]
		public string PostComment
		{
			get
			{
				return this._PostComment;
			}
			set
			{
				if ((this._PostComment != value))
				{
					this.OnPostCommentChanging(value);
					this.SendPropertyChanging();
					this._PostComment = value;
					this.SendPropertyChanged("PostComment");
					this.OnPostCommentChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsApproved", DbType="Bit NOT NULL")]
		public bool IsApproved
		{
			get
			{
				return this._IsApproved;
			}
			set
			{
				if ((this._IsApproved != value))
				{
					this.OnIsApprovedChanging(value);
					this.SendPropertyChanging();
					this._IsApproved = value;
					this.SendPropertyChanged("IsApproved");
					this.OnIsApprovedChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsSpam", DbType="Bit NOT NULL")]
		public bool IsSpam
		{
			get
			{
				return this._IsSpam;
			}
			set
			{
				if ((this._IsSpam != value))
				{
					this.OnIsSpamChanging(value);
					this.SendPropertyChanging();
					this._IsSpam = value;
					this.SendPropertyChanged("IsSpam");
					this.OnIsSpamChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CommenterURL", DbType="NVarChar(128) NOT NULL", CanBeNull=false)]
		public string CommenterURL
		{
			get
			{
				return this._CommenterURL;
			}
			set
			{
				if ((this._CommenterURL != value))
				{
					this.OnCommenterURLChanging(value);
					this.SendPropertyChanging();
					this._CommenterURL = value;
					this.SendPropertyChanged("CommenterURL");
					this.OnCommenterURLChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_RootContent_carrot_ContentComment", Storage="_carrot_RootContent", ThisKey="Root_ContentID", OtherKey="Root_ContentID", IsForeignKey=true)]
		public carrot_RootContent carrot_RootContent
		{
			get
			{
				return this._carrot_RootContent.Entity;
			}
			set
			{
				carrot_RootContent previousValue = this._carrot_RootContent.Entity;
				if (((previousValue != value) 
							|| (this._carrot_RootContent.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_RootContent.Entity = null;
						previousValue.carrot_ContentComments.Remove(this);
					}
					this._carrot_RootContent.Entity = value;
					if ((value != null))
					{
						value.carrot_ContentComments.Add(this);
						this._Root_ContentID = value.Root_ContentID;
					}
					else
					{
						this._Root_ContentID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_RootContent");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_SerialCache")]
	public partial class carrot_SerialCache : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _SerialCacheID;
		
		private System.Guid _SiteID;
		
		private System.Guid _ItemID;
		
		private System.Guid _EditUserId;
		
		private string _KeyType;
		
		private string _SerializedData;
		
		private System.DateTime _EditDate;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnSerialCacheIDChanging(System.Guid value);
    partial void OnSerialCacheIDChanged();
    partial void OnSiteIDChanging(System.Guid value);
    partial void OnSiteIDChanged();
    partial void OnItemIDChanging(System.Guid value);
    partial void OnItemIDChanged();
    partial void OnEditUserIdChanging(System.Guid value);
    partial void OnEditUserIdChanged();
    partial void OnKeyTypeChanging(string value);
    partial void OnKeyTypeChanged();
    partial void OnSerializedDataChanging(string value);
    partial void OnSerializedDataChanged();
    partial void OnEditDateChanging(System.DateTime value);
    partial void OnEditDateChanged();
    #endregion
		
		public carrot_SerialCache()
		{
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SerialCacheID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid SerialCacheID
		{
			get
			{
				return this._SerialCacheID;
			}
			set
			{
				if ((this._SerialCacheID != value))
				{
					this.OnSerialCacheIDChanging(value);
					this.SendPropertyChanging();
					this._SerialCacheID = value;
					this.SendPropertyChanged("SerialCacheID");
					this.OnSerialCacheIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					this.OnSiteIDChanging(value);
					this.SendPropertyChanging();
					this._SiteID = value;
					this.SendPropertyChanged("SiteID");
					this.OnSiteIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ItemID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ItemID
		{
			get
			{
				return this._ItemID;
			}
			set
			{
				if ((this._ItemID != value))
				{
					this.OnItemIDChanging(value);
					this.SendPropertyChanging();
					this._ItemID = value;
					this.SendPropertyChanged("ItemID");
					this.OnItemIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditUserId", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid EditUserId
		{
			get
			{
				return this._EditUserId;
			}
			set
			{
				if ((this._EditUserId != value))
				{
					this.OnEditUserIdChanging(value);
					this.SendPropertyChanging();
					this._EditUserId = value;
					this.SendPropertyChanged("EditUserId");
					this.OnEditUserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_KeyType", DbType="NVarChar(256)")]
		public string KeyType
		{
			get
			{
				return this._KeyType;
			}
			set
			{
				if ((this._KeyType != value))
				{
					this.OnKeyTypeChanging(value);
					this.SendPropertyChanging();
					this._KeyType = value;
					this.SendPropertyChanged("KeyType");
					this.OnKeyTypeChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SerializedData", DbType="NVarChar(MAX)")]
		public string SerializedData
		{
			get
			{
				return this._SerializedData;
			}
			set
			{
				if ((this._SerializedData != value))
				{
					this.OnSerializedDataChanging(value);
					this.SendPropertyChanging();
					this._SerializedData = value;
					this.SendPropertyChanged("SerializedData");
					this.OnSerializedDataChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditDate", DbType="DateTime NOT NULL")]
		public System.DateTime EditDate
		{
			get
			{
				return this._EditDate;
			}
			set
			{
				if ((this._EditDate != value))
				{
					this.OnEditDateChanging(value);
					this.SendPropertyChanging();
					this._EditDate = value;
					this.SendPropertyChanged("EditDate");
					this.OnEditDateChanged();
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.vw_carrot_Widget")]
	public partial class vw_carrot_Widget
	{
		
		private System.Guid _Root_WidgetID;
		
		private System.Guid _Root_ContentID;
		
		private int _WidgetOrder;
		
		private string _PlaceholderName;
		
		private string _ControlPath;
		
		private System.DateTime _RetireDate;
		
		private System.DateTime _GoLiveDate;
		
		private System.Nullable<bool> _IsRetired;
		
		private System.Nullable<bool> _IsUnReleased;
		
		private bool _WidgetActive;
		
		private System.Guid _WidgetDataID;
		
		private bool _IsLatestVersion;
		
		private System.DateTime _EditDate;
		
		private string _ControlProperties;
		
		private System.Guid _SiteID;
		
		public vw_carrot_Widget()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_WidgetID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Root_WidgetID
		{
			get
			{
				return this._Root_WidgetID;
			}
			set
			{
				if ((this._Root_WidgetID != value))
				{
					this._Root_WidgetID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_ContentID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Root_ContentID
		{
			get
			{
				return this._Root_ContentID;
			}
			set
			{
				if ((this._Root_ContentID != value))
				{
					this._Root_ContentID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WidgetOrder", DbType="Int NOT NULL")]
		public int WidgetOrder
		{
			get
			{
				return this._WidgetOrder;
			}
			set
			{
				if ((this._WidgetOrder != value))
				{
					this._WidgetOrder = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PlaceholderName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string PlaceholderName
		{
			get
			{
				return this._PlaceholderName;
			}
			set
			{
				if ((this._PlaceholderName != value))
				{
					this._PlaceholderName = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ControlPath", DbType="NVarChar(512) NOT NULL", CanBeNull=false)]
		public string ControlPath
		{
			get
			{
				return this._ControlPath;
			}
			set
			{
				if ((this._ControlPath != value))
				{
					this._ControlPath = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RetireDate", DbType="DateTime NOT NULL")]
		public System.DateTime RetireDate
		{
			get
			{
				return this._RetireDate;
			}
			set
			{
				if ((this._RetireDate != value))
				{
					this._RetireDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GoLiveDate", DbType="DateTime NOT NULL")]
		public System.DateTime GoLiveDate
		{
			get
			{
				return this._GoLiveDate;
			}
			set
			{
				if ((this._GoLiveDate != value))
				{
					this._GoLiveDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsRetired", DbType="Bit")]
		public System.Nullable<bool> IsRetired
		{
			get
			{
				return this._IsRetired;
			}
			set
			{
				if ((this._IsRetired != value))
				{
					this._IsRetired = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsUnReleased", DbType="Bit")]
		public System.Nullable<bool> IsUnReleased
		{
			get
			{
				return this._IsUnReleased;
			}
			set
			{
				if ((this._IsUnReleased != value))
				{
					this._IsUnReleased = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WidgetActive", DbType="Bit NOT NULL")]
		public bool WidgetActive
		{
			get
			{
				return this._WidgetActive;
			}
			set
			{
				if ((this._WidgetActive != value))
				{
					this._WidgetActive = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WidgetDataID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid WidgetDataID
		{
			get
			{
				return this._WidgetDataID;
			}
			set
			{
				if ((this._WidgetDataID != value))
				{
					this._WidgetDataID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsLatestVersion", DbType="Bit NOT NULL")]
		public bool IsLatestVersion
		{
			get
			{
				return this._IsLatestVersion;
			}
			set
			{
				if ((this._IsLatestVersion != value))
				{
					this._IsLatestVersion = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditDate", DbType="DateTime NOT NULL")]
		public System.DateTime EditDate
		{
			get
			{
				return this._EditDate;
			}
			set
			{
				if ((this._EditDate != value))
				{
					this._EditDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ControlProperties", DbType="NVarChar(MAX)")]
		public string ControlProperties
		{
			get
			{
				return this._ControlProperties;
			}
			set
			{
				if ((this._ControlProperties != value))
				{
					this._ControlProperties = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					this._SiteID = value;
				}
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="")]
	public partial class carrot_ContentTally
	{
		
		private System.Nullable<int> _ContentCount;
		
		private System.Guid _SiteID;
		
		private System.Nullable<System.DateTime> _DateMonth;
		
		private string _DateSlug;
		
		public carrot_ContentTally()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentCount")]
		public System.Nullable<int> ContentCount
		{
			get
			{
				return this._ContentCount;
			}
			set
			{
				if ((this._ContentCount != value))
				{
					this._ContentCount = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					this._SiteID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DateMonth")]
		public System.Nullable<System.DateTime> DateMonth
		{
			get
			{
				return this._DateMonth;
			}
			set
			{
				if ((this._DateMonth != value))
				{
					this._DateMonth = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DateSlug")]
		public string DateSlug
		{
			get
			{
				return this._DateSlug;
			}
			set
			{
				if ((this._DateSlug != value))
				{
					this._DateSlug = value;
				}
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.vw_carrot_Comment")]
	public partial class vw_carrot_Comment
	{
		
		private System.Guid _ContentCommentID;
		
		private System.DateTime _CreateDate;
		
		private string _CommenterIP;
		
		private string _CommenterName;
		
		private string _CommenterEmail;
		
		private string _CommenterURL;
		
		private string _PostComment;
		
		private bool _IsApproved;
		
		private bool _IsSpam;
		
		private System.Guid _Root_ContentID;
		
		private System.Guid _SiteID;
		
		private string _FileName;
		
		private string _PageHead;
		
		private string _TitleBar;
		
		private string _NavMenuText;
		
		private System.Guid _ContentTypeID;
		
		private System.Nullable<bool> _IsRetired;
		
		private System.Nullable<bool> _IsUnReleased;
		
		private System.DateTime _RetireDate;
		
		private System.DateTime _GoLiveDate;
		
		public vw_carrot_Comment()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentCommentID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ContentCommentID
		{
			get
			{
				return this._ContentCommentID;
			}
			set
			{
				if ((this._ContentCommentID != value))
				{
					this._ContentCommentID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDate", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDate
		{
			get
			{
				return this._CreateDate;
			}
			set
			{
				if ((this._CreateDate != value))
				{
					this._CreateDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CommenterIP", DbType="NVarChar(32) NOT NULL", CanBeNull=false)]
		public string CommenterIP
		{
			get
			{
				return this._CommenterIP;
			}
			set
			{
				if ((this._CommenterIP != value))
				{
					this._CommenterIP = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CommenterName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string CommenterName
		{
			get
			{
				return this._CommenterName;
			}
			set
			{
				if ((this._CommenterName != value))
				{
					this._CommenterName = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CommenterEmail", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string CommenterEmail
		{
			get
			{
				return this._CommenterEmail;
			}
			set
			{
				if ((this._CommenterEmail != value))
				{
					this._CommenterEmail = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CommenterURL", DbType="NVarChar(128) NOT NULL", CanBeNull=false)]
		public string CommenterURL
		{
			get
			{
				return this._CommenterURL;
			}
			set
			{
				if ((this._CommenterURL != value))
				{
					this._CommenterURL = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PostComment", DbType="NVarChar(MAX)")]
		public string PostComment
		{
			get
			{
				return this._PostComment;
			}
			set
			{
				if ((this._PostComment != value))
				{
					this._PostComment = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsApproved", DbType="Bit NOT NULL")]
		public bool IsApproved
		{
			get
			{
				return this._IsApproved;
			}
			set
			{
				if ((this._IsApproved != value))
				{
					this._IsApproved = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsSpam", DbType="Bit NOT NULL")]
		public bool IsSpam
		{
			get
			{
				return this._IsSpam;
			}
			set
			{
				if ((this._IsSpam != value))
				{
					this._IsSpam = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_ContentID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Root_ContentID
		{
			get
			{
				return this._Root_ContentID;
			}
			set
			{
				if ((this._Root_ContentID != value))
				{
					this._Root_ContentID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					this._SiteID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FileName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string FileName
		{
			get
			{
				return this._FileName;
			}
			set
			{
				if ((this._FileName != value))
				{
					this._FileName = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageHead", DbType="NVarChar(256)")]
		public string PageHead
		{
			get
			{
				return this._PageHead;
			}
			set
			{
				if ((this._PageHead != value))
				{
					this._PageHead = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TitleBar", DbType="NVarChar(256)")]
		public string TitleBar
		{
			get
			{
				return this._TitleBar;
			}
			set
			{
				if ((this._TitleBar != value))
				{
					this._TitleBar = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NavMenuText", DbType="NVarChar(256)")]
		public string NavMenuText
		{
			get
			{
				return this._NavMenuText;
			}
			set
			{
				if ((this._NavMenuText != value))
				{
					this._NavMenuText = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentTypeID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ContentTypeID
		{
			get
			{
				return this._ContentTypeID;
			}
			set
			{
				if ((this._ContentTypeID != value))
				{
					this._ContentTypeID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsRetired", DbType="Bit")]
		public System.Nullable<bool> IsRetired
		{
			get
			{
				return this._IsRetired;
			}
			set
			{
				if ((this._IsRetired != value))
				{
					this._IsRetired = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsUnReleased", DbType="Bit")]
		public System.Nullable<bool> IsUnReleased
		{
			get
			{
				return this._IsUnReleased;
			}
			set
			{
				if ((this._IsUnReleased != value))
				{
					this._IsUnReleased = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RetireDate", DbType="DateTime NOT NULL")]
		public System.DateTime RetireDate
		{
			get
			{
				return this._RetireDate;
			}
			set
			{
				if ((this._RetireDate != value))
				{
					this._RetireDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GoLiveDate", DbType="DateTime NOT NULL")]
		public System.DateTime GoLiveDate
		{
			get
			{
				return this._GoLiveDate;
			}
			set
			{
				if ((this._GoLiveDate != value))
				{
					this._GoLiveDate = value;
				}
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_TrackbackQueue")]
	public partial class carrot_TrackbackQueue : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _TrackbackQueueID;
		
		private System.Guid _Root_ContentID;
		
		private string _TrackBackURL;
		
		private string _TrackBackResponse;
		
		private System.DateTime _ModifiedDate;
		
		private System.DateTime _CreateDate;
		
		private bool _TrackedBack;
		
		private EntityRef<carrot_RootContent> _carrot_RootContent;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnTrackbackQueueIDChanging(System.Guid value);
    partial void OnTrackbackQueueIDChanged();
    partial void OnRoot_ContentIDChanging(System.Guid value);
    partial void OnRoot_ContentIDChanged();
    partial void OnTrackBackURLChanging(string value);
    partial void OnTrackBackURLChanged();
    partial void OnTrackBackResponseChanging(string value);
    partial void OnTrackBackResponseChanged();
    partial void OnModifiedDateChanging(System.DateTime value);
    partial void OnModifiedDateChanged();
    partial void OnCreateDateChanging(System.DateTime value);
    partial void OnCreateDateChanged();
    partial void OnTrackedBackChanging(bool value);
    partial void OnTrackedBackChanged();
    #endregion
		
		public carrot_TrackbackQueue()
		{
			this._carrot_RootContent = default(EntityRef<carrot_RootContent>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrackbackQueueID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid TrackbackQueueID
		{
			get
			{
				return this._TrackbackQueueID;
			}
			set
			{
				if ((this._TrackbackQueueID != value))
				{
					this.OnTrackbackQueueIDChanging(value);
					this.SendPropertyChanging();
					this._TrackbackQueueID = value;
					this.SendPropertyChanged("TrackbackQueueID");
					this.OnTrackbackQueueIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_ContentID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Root_ContentID
		{
			get
			{
				return this._Root_ContentID;
			}
			set
			{
				if ((this._Root_ContentID != value))
				{
					if (this._carrot_RootContent.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnRoot_ContentIDChanging(value);
					this.SendPropertyChanging();
					this._Root_ContentID = value;
					this.SendPropertyChanged("Root_ContentID");
					this.OnRoot_ContentIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrackBackURL", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string TrackBackURL
		{
			get
			{
				return this._TrackBackURL;
			}
			set
			{
				if ((this._TrackBackURL != value))
				{
					this.OnTrackBackURLChanging(value);
					this.SendPropertyChanging();
					this._TrackBackURL = value;
					this.SendPropertyChanged("TrackBackURL");
					this.OnTrackBackURLChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrackBackResponse", DbType="NVarChar(2048)")]
		public string TrackBackResponse
		{
			get
			{
				return this._TrackBackResponse;
			}
			set
			{
				if ((this._TrackBackResponse != value))
				{
					this.OnTrackBackResponseChanging(value);
					this.SendPropertyChanging();
					this._TrackBackResponse = value;
					this.SendPropertyChanged("TrackBackResponse");
					this.OnTrackBackResponseChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ModifiedDate", DbType="DateTime NOT NULL")]
		public System.DateTime ModifiedDate
		{
			get
			{
				return this._ModifiedDate;
			}
			set
			{
				if ((this._ModifiedDate != value))
				{
					this.OnModifiedDateChanging(value);
					this.SendPropertyChanging();
					this._ModifiedDate = value;
					this.SendPropertyChanged("ModifiedDate");
					this.OnModifiedDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDate", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDate
		{
			get
			{
				return this._CreateDate;
			}
			set
			{
				if ((this._CreateDate != value))
				{
					this.OnCreateDateChanging(value);
					this.SendPropertyChanging();
					this._CreateDate = value;
					this.SendPropertyChanged("CreateDate");
					this.OnCreateDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrackedBack", DbType="Bit NOT NULL")]
		public bool TrackedBack
		{
			get
			{
				return this._TrackedBack;
			}
			set
			{
				if ((this._TrackedBack != value))
				{
					this.OnTrackedBackChanging(value);
					this.SendPropertyChanging();
					this._TrackedBack = value;
					this.SendPropertyChanged("TrackedBack");
					this.OnTrackedBackChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_RootContent_carrot_TrackbackQueue", Storage="_carrot_RootContent", ThisKey="Root_ContentID", OtherKey="Root_ContentID", IsForeignKey=true)]
		public carrot_RootContent carrot_RootContent
		{
			get
			{
				return this._carrot_RootContent.Entity;
			}
			set
			{
				carrot_RootContent previousValue = this._carrot_RootContent.Entity;
				if (((previousValue != value) 
							|| (this._carrot_RootContent.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_RootContent.Entity = null;
						previousValue.carrot_TrackbackQueues.Remove(this);
					}
					this._carrot_RootContent.Entity = value;
					if ((value != null))
					{
						value.carrot_TrackbackQueues.Add(this);
						this._Root_ContentID = value.Root_ContentID;
					}
					else
					{
						this._Root_ContentID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_RootContent");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.vw_carrot_TrackbackQueue")]
	public partial class vw_carrot_TrackbackQueue
	{
		
		private System.Guid _TrackbackQueueID;
		
		private string _TrackBackURL;
		
		private string _TrackBackResponse;
		
		private System.DateTime _CreateDate;
		
		private System.DateTime _ModifiedDate;
		
		private bool _TrackedBack;
		
		private System.Guid _Root_ContentID;
		
		private bool _PageActive;
		
		private System.Guid _SiteID;
		
		public vw_carrot_TrackbackQueue()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrackbackQueueID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid TrackbackQueueID
		{
			get
			{
				return this._TrackbackQueueID;
			}
			set
			{
				if ((this._TrackbackQueueID != value))
				{
					this._TrackbackQueueID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrackBackURL", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string TrackBackURL
		{
			get
			{
				return this._TrackBackURL;
			}
			set
			{
				if ((this._TrackBackURL != value))
				{
					this._TrackBackURL = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrackBackResponse", DbType="NVarChar(2048)")]
		public string TrackBackResponse
		{
			get
			{
				return this._TrackBackResponse;
			}
			set
			{
				if ((this._TrackBackResponse != value))
				{
					this._TrackBackResponse = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDate", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDate
		{
			get
			{
				return this._CreateDate;
			}
			set
			{
				if ((this._CreateDate != value))
				{
					this._CreateDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ModifiedDate", DbType="DateTime NOT NULL")]
		public System.DateTime ModifiedDate
		{
			get
			{
				return this._ModifiedDate;
			}
			set
			{
				if ((this._ModifiedDate != value))
				{
					this._ModifiedDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrackedBack", DbType="Bit NOT NULL")]
		public bool TrackedBack
		{
			get
			{
				return this._TrackedBack;
			}
			set
			{
				if ((this._TrackedBack != value))
				{
					this._TrackedBack = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_ContentID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Root_ContentID
		{
			get
			{
				return this._Root_ContentID;
			}
			set
			{
				if ((this._Root_ContentID != value))
				{
					this._Root_ContentID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageActive", DbType="Bit NOT NULL")]
		public bool PageActive
		{
			get
			{
				return this._PageActive;
			}
			set
			{
				if ((this._PageActive != value))
				{
					this._PageActive = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					this._SiteID = value;
				}
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.vw_carrot_ContentChild")]
	public partial class vw_carrot_ContentChild
	{
		
		private System.Guid _SiteID;
		
		private System.Guid _Root_ContentID;
		
		private string _FileName;
		
		private System.DateTime _RetireDate;
		
		private System.DateTime _GoLiveDate;
		
		private System.Nullable<bool> _IsRetired;
		
		private System.Nullable<bool> _IsUnReleased;
		
		private System.Guid _Parent_ContentID;
		
		private string _ParentFileName;
		
		private System.DateTime _ParentRetireDate;
		
		private System.DateTime _ParentGoLiveDate;
		
		private System.Nullable<bool> _IsParentRetired;
		
		private System.Nullable<bool> _IsParentUnReleased;
		
		public vw_carrot_ContentChild()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					this._SiteID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_ContentID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Root_ContentID
		{
			get
			{
				return this._Root_ContentID;
			}
			set
			{
				if ((this._Root_ContentID != value))
				{
					this._Root_ContentID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FileName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string FileName
		{
			get
			{
				return this._FileName;
			}
			set
			{
				if ((this._FileName != value))
				{
					this._FileName = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RetireDate", DbType="DateTime NOT NULL")]
		public System.DateTime RetireDate
		{
			get
			{
				return this._RetireDate;
			}
			set
			{
				if ((this._RetireDate != value))
				{
					this._RetireDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GoLiveDate", DbType="DateTime NOT NULL")]
		public System.DateTime GoLiveDate
		{
			get
			{
				return this._GoLiveDate;
			}
			set
			{
				if ((this._GoLiveDate != value))
				{
					this._GoLiveDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsRetired", DbType="Bit")]
		public System.Nullable<bool> IsRetired
		{
			get
			{
				return this._IsRetired;
			}
			set
			{
				if ((this._IsRetired != value))
				{
					this._IsRetired = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsUnReleased", DbType="Bit")]
		public System.Nullable<bool> IsUnReleased
		{
			get
			{
				return this._IsUnReleased;
			}
			set
			{
				if ((this._IsUnReleased != value))
				{
					this._IsUnReleased = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Parent_ContentID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Parent_ContentID
		{
			get
			{
				return this._Parent_ContentID;
			}
			set
			{
				if ((this._Parent_ContentID != value))
				{
					this._Parent_ContentID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ParentFileName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string ParentFileName
		{
			get
			{
				return this._ParentFileName;
			}
			set
			{
				if ((this._ParentFileName != value))
				{
					this._ParentFileName = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ParentRetireDate", DbType="DateTime NOT NULL")]
		public System.DateTime ParentRetireDate
		{
			get
			{
				return this._ParentRetireDate;
			}
			set
			{
				if ((this._ParentRetireDate != value))
				{
					this._ParentRetireDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ParentGoLiveDate", DbType="DateTime NOT NULL")]
		public System.DateTime ParentGoLiveDate
		{
			get
			{
				return this._ParentGoLiveDate;
			}
			set
			{
				if ((this._ParentGoLiveDate != value))
				{
					this._ParentGoLiveDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsParentRetired", DbType="Bit")]
		public System.Nullable<bool> IsParentRetired
		{
			get
			{
				return this._IsParentRetired;
			}
			set
			{
				if ((this._IsParentRetired != value))
				{
					this._IsParentRetired = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsParentUnReleased", DbType="Bit")]
		public System.Nullable<bool> IsParentUnReleased
		{
			get
			{
				return this._IsParentUnReleased;
			}
			set
			{
				if ((this._IsParentUnReleased != value))
				{
					this._IsParentUnReleased = value;
				}
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_RootContent")]
	public partial class carrot_RootContent : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _Root_ContentID;
		
		private System.Guid _SiteID;
		
		private System.Nullable<System.Guid> _Heartbeat_UserId;
		
		private System.Nullable<System.DateTime> _EditHeartbeat;
		
		private string _FileName;
		
		private bool _PageActive;
		
		private System.DateTime _CreateDate;
		
		private System.Guid _ContentTypeID;
		
		private string _PageSlug;
		
		private string _PageThumbnail;
		
		private System.DateTime _GoLiveDate;
		
		private System.DateTime _RetireDate;
		
		private System.DateTime _GoLiveDateLocal;
		
		private bool _ShowInSiteNav;
		
		private System.Guid _CreateUserId;
		
		private bool _ShowInSiteMap;
		
		private bool _BlockIndex;
		
		private EntitySet<carrot_CategoryContentMapping> _carrot_CategoryContentMappings;
		
		private EntitySet<carrot_TagContentMapping> _carrot_TagContentMappings;
		
		private EntitySet<carrot_Widget> _carrot_Widgets;
		
		private EntitySet<carrot_ContentComment> _carrot_ContentComments;
		
		private EntitySet<carrot_TrackbackQueue> _carrot_TrackbackQueues;
		
		private EntitySet<carrot_Content> _carrot_Contents;
		
		private EntityRef<carrot_ContentType> _carrot_ContentType;
		
		private EntityRef<aspnet_User> _aspnet_User;
		
		private EntityRef<carrot_Site> _carrot_Site;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnRoot_ContentIDChanging(System.Guid value);
    partial void OnRoot_ContentIDChanged();
    partial void OnSiteIDChanging(System.Guid value);
    partial void OnSiteIDChanged();
    partial void OnHeartbeat_UserIdChanging(System.Nullable<System.Guid> value);
    partial void OnHeartbeat_UserIdChanged();
    partial void OnEditHeartbeatChanging(System.Nullable<System.DateTime> value);
    partial void OnEditHeartbeatChanged();
    partial void OnFileNameChanging(string value);
    partial void OnFileNameChanged();
    partial void OnPageActiveChanging(bool value);
    partial void OnPageActiveChanged();
    partial void OnCreateDateChanging(System.DateTime value);
    partial void OnCreateDateChanged();
    partial void OnContentTypeIDChanging(System.Guid value);
    partial void OnContentTypeIDChanged();
    partial void OnPageSlugChanging(string value);
    partial void OnPageSlugChanged();
    partial void OnPageThumbnailChanging(string value);
    partial void OnPageThumbnailChanged();
    partial void OnGoLiveDateChanging(System.DateTime value);
    partial void OnGoLiveDateChanged();
    partial void OnRetireDateChanging(System.DateTime value);
    partial void OnRetireDateChanged();
    partial void OnGoLiveDateLocalChanging(System.DateTime value);
    partial void OnGoLiveDateLocalChanged();
    partial void OnShowInSiteNavChanging(bool value);
    partial void OnShowInSiteNavChanged();
    partial void OnCreateUserIdChanging(System.Guid value);
    partial void OnCreateUserIdChanged();
    partial void OnShowInSiteMapChanging(bool value);
    partial void OnShowInSiteMapChanged();
    partial void OnBlockIndexChanging(bool value);
    partial void OnBlockIndexChanged();
    #endregion
		
		public carrot_RootContent()
		{
			this._carrot_CategoryContentMappings = new EntitySet<carrot_CategoryContentMapping>(new Action<carrot_CategoryContentMapping>(this.attach_carrot_CategoryContentMappings), new Action<carrot_CategoryContentMapping>(this.detach_carrot_CategoryContentMappings));
			this._carrot_TagContentMappings = new EntitySet<carrot_TagContentMapping>(new Action<carrot_TagContentMapping>(this.attach_carrot_TagContentMappings), new Action<carrot_TagContentMapping>(this.detach_carrot_TagContentMappings));
			this._carrot_Widgets = new EntitySet<carrot_Widget>(new Action<carrot_Widget>(this.attach_carrot_Widgets), new Action<carrot_Widget>(this.detach_carrot_Widgets));
			this._carrot_ContentComments = new EntitySet<carrot_ContentComment>(new Action<carrot_ContentComment>(this.attach_carrot_ContentComments), new Action<carrot_ContentComment>(this.detach_carrot_ContentComments));
			this._carrot_TrackbackQueues = new EntitySet<carrot_TrackbackQueue>(new Action<carrot_TrackbackQueue>(this.attach_carrot_TrackbackQueues), new Action<carrot_TrackbackQueue>(this.detach_carrot_TrackbackQueues));
			this._carrot_Contents = new EntitySet<carrot_Content>(new Action<carrot_Content>(this.attach_carrot_Contents), new Action<carrot_Content>(this.detach_carrot_Contents));
			this._carrot_ContentType = default(EntityRef<carrot_ContentType>);
			this._aspnet_User = default(EntityRef<aspnet_User>);
			this._carrot_Site = default(EntityRef<carrot_Site>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_ContentID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid Root_ContentID
		{
			get
			{
				return this._Root_ContentID;
			}
			set
			{
				if ((this._Root_ContentID != value))
				{
					this.OnRoot_ContentIDChanging(value);
					this.SendPropertyChanging();
					this._Root_ContentID = value;
					this.SendPropertyChanged("Root_ContentID");
					this.OnRoot_ContentIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					if (this._carrot_Site.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnSiteIDChanging(value);
					this.SendPropertyChanging();
					this._SiteID = value;
					this.SendPropertyChanged("SiteID");
					this.OnSiteIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Heartbeat_UserId", DbType="UniqueIdentifier")]
		public System.Nullable<System.Guid> Heartbeat_UserId
		{
			get
			{
				return this._Heartbeat_UserId;
			}
			set
			{
				if ((this._Heartbeat_UserId != value))
				{
					this.OnHeartbeat_UserIdChanging(value);
					this.SendPropertyChanging();
					this._Heartbeat_UserId = value;
					this.SendPropertyChanged("Heartbeat_UserId");
					this.OnHeartbeat_UserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditHeartbeat", DbType="DateTime")]
		public System.Nullable<System.DateTime> EditHeartbeat
		{
			get
			{
				return this._EditHeartbeat;
			}
			set
			{
				if ((this._EditHeartbeat != value))
				{
					this.OnEditHeartbeatChanging(value);
					this.SendPropertyChanging();
					this._EditHeartbeat = value;
					this.SendPropertyChanged("EditHeartbeat");
					this.OnEditHeartbeatChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FileName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string FileName
		{
			get
			{
				return this._FileName;
			}
			set
			{
				if ((this._FileName != value))
				{
					this.OnFileNameChanging(value);
					this.SendPropertyChanging();
					this._FileName = value;
					this.SendPropertyChanged("FileName");
					this.OnFileNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageActive", DbType="Bit NOT NULL")]
		public bool PageActive
		{
			get
			{
				return this._PageActive;
			}
			set
			{
				if ((this._PageActive != value))
				{
					this.OnPageActiveChanging(value);
					this.SendPropertyChanging();
					this._PageActive = value;
					this.SendPropertyChanged("PageActive");
					this.OnPageActiveChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDate", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDate
		{
			get
			{
				return this._CreateDate;
			}
			set
			{
				if ((this._CreateDate != value))
				{
					this.OnCreateDateChanging(value);
					this.SendPropertyChanging();
					this._CreateDate = value;
					this.SendPropertyChanged("CreateDate");
					this.OnCreateDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentTypeID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ContentTypeID
		{
			get
			{
				return this._ContentTypeID;
			}
			set
			{
				if ((this._ContentTypeID != value))
				{
					if (this._carrot_ContentType.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnContentTypeIDChanging(value);
					this.SendPropertyChanging();
					this._ContentTypeID = value;
					this.SendPropertyChanged("ContentTypeID");
					this.OnContentTypeIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageSlug", DbType="NVarChar(256)")]
		public string PageSlug
		{
			get
			{
				return this._PageSlug;
			}
			set
			{
				if ((this._PageSlug != value))
				{
					this.OnPageSlugChanging(value);
					this.SendPropertyChanging();
					this._PageSlug = value;
					this.SendPropertyChanged("PageSlug");
					this.OnPageSlugChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageThumbnail", DbType="NVarChar(128)")]
		public string PageThumbnail
		{
			get
			{
				return this._PageThumbnail;
			}
			set
			{
				if ((this._PageThumbnail != value))
				{
					this.OnPageThumbnailChanging(value);
					this.SendPropertyChanging();
					this._PageThumbnail = value;
					this.SendPropertyChanged("PageThumbnail");
					this.OnPageThumbnailChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GoLiveDate", DbType="DateTime NOT NULL")]
		public System.DateTime GoLiveDate
		{
			get
			{
				return this._GoLiveDate;
			}
			set
			{
				if ((this._GoLiveDate != value))
				{
					this.OnGoLiveDateChanging(value);
					this.SendPropertyChanging();
					this._GoLiveDate = value;
					this.SendPropertyChanged("GoLiveDate");
					this.OnGoLiveDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RetireDate", DbType="DateTime NOT NULL")]
		public System.DateTime RetireDate
		{
			get
			{
				return this._RetireDate;
			}
			set
			{
				if ((this._RetireDate != value))
				{
					this.OnRetireDateChanging(value);
					this.SendPropertyChanging();
					this._RetireDate = value;
					this.SendPropertyChanged("RetireDate");
					this.OnRetireDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GoLiveDateLocal", DbType="DateTime NOT NULL")]
		public System.DateTime GoLiveDateLocal
		{
			get
			{
				return this._GoLiveDateLocal;
			}
			set
			{
				if ((this._GoLiveDateLocal != value))
				{
					this.OnGoLiveDateLocalChanging(value);
					this.SendPropertyChanging();
					this._GoLiveDateLocal = value;
					this.SendPropertyChanged("GoLiveDateLocal");
					this.OnGoLiveDateLocalChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ShowInSiteNav", DbType="Bit NOT NULL")]
		public bool ShowInSiteNav
		{
			get
			{
				return this._ShowInSiteNav;
			}
			set
			{
				if ((this._ShowInSiteNav != value))
				{
					this.OnShowInSiteNavChanging(value);
					this.SendPropertyChanging();
					this._ShowInSiteNav = value;
					this.SendPropertyChanged("ShowInSiteNav");
					this.OnShowInSiteNavChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateUserId", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid CreateUserId
		{
			get
			{
				return this._CreateUserId;
			}
			set
			{
				if ((this._CreateUserId != value))
				{
					if (this._aspnet_User.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnCreateUserIdChanging(value);
					this.SendPropertyChanging();
					this._CreateUserId = value;
					this.SendPropertyChanged("CreateUserId");
					this.OnCreateUserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ShowInSiteMap", DbType="Bit NOT NULL")]
		public bool ShowInSiteMap
		{
			get
			{
				return this._ShowInSiteMap;
			}
			set
			{
				if ((this._ShowInSiteMap != value))
				{
					this.OnShowInSiteMapChanging(value);
					this.SendPropertyChanging();
					this._ShowInSiteMap = value;
					this.SendPropertyChanged("ShowInSiteMap");
					this.OnShowInSiteMapChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BlockIndex", DbType="Bit NOT NULL")]
		public bool BlockIndex
		{
			get
			{
				return this._BlockIndex;
			}
			set
			{
				if ((this._BlockIndex != value))
				{
					this.OnBlockIndexChanging(value);
					this.SendPropertyChanging();
					this._BlockIndex = value;
					this.SendPropertyChanged("BlockIndex");
					this.OnBlockIndexChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_RootContent_carrot_CategoryContentMapping", Storage="_carrot_CategoryContentMappings", ThisKey="Root_ContentID", OtherKey="Root_ContentID")]
		public EntitySet<carrot_CategoryContentMapping> carrot_CategoryContentMappings
		{
			get
			{
				return this._carrot_CategoryContentMappings;
			}
			set
			{
				this._carrot_CategoryContentMappings.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_RootContent_carrot_TagContentMapping", Storage="_carrot_TagContentMappings", ThisKey="Root_ContentID", OtherKey="Root_ContentID")]
		public EntitySet<carrot_TagContentMapping> carrot_TagContentMappings
		{
			get
			{
				return this._carrot_TagContentMappings;
			}
			set
			{
				this._carrot_TagContentMappings.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_RootContent_carrot_Widget", Storage="_carrot_Widgets", ThisKey="Root_ContentID", OtherKey="Root_ContentID")]
		public EntitySet<carrot_Widget> carrot_Widgets
		{
			get
			{
				return this._carrot_Widgets;
			}
			set
			{
				this._carrot_Widgets.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_RootContent_carrot_ContentComment", Storage="_carrot_ContentComments", ThisKey="Root_ContentID", OtherKey="Root_ContentID")]
		public EntitySet<carrot_ContentComment> carrot_ContentComments
		{
			get
			{
				return this._carrot_ContentComments;
			}
			set
			{
				this._carrot_ContentComments.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_RootContent_carrot_TrackbackQueue", Storage="_carrot_TrackbackQueues", ThisKey="Root_ContentID", OtherKey="Root_ContentID")]
		public EntitySet<carrot_TrackbackQueue> carrot_TrackbackQueues
		{
			get
			{
				return this._carrot_TrackbackQueues;
			}
			set
			{
				this._carrot_TrackbackQueues.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_RootContent_carrot_Content", Storage="_carrot_Contents", ThisKey="Root_ContentID", OtherKey="Root_ContentID")]
		public EntitySet<carrot_Content> carrot_Contents
		{
			get
			{
				return this._carrot_Contents;
			}
			set
			{
				this._carrot_Contents.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_ContentType_carrot_RootContent", Storage="_carrot_ContentType", ThisKey="ContentTypeID", OtherKey="ContentTypeID", IsForeignKey=true)]
		public carrot_ContentType carrot_ContentType
		{
			get
			{
				return this._carrot_ContentType.Entity;
			}
			set
			{
				carrot_ContentType previousValue = this._carrot_ContentType.Entity;
				if (((previousValue != value) 
							|| (this._carrot_ContentType.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_ContentType.Entity = null;
						previousValue.carrot_RootContents.Remove(this);
					}
					this._carrot_ContentType.Entity = value;
					if ((value != null))
					{
						value.carrot_RootContents.Add(this);
						this._ContentTypeID = value.ContentTypeID;
					}
					else
					{
						this._ContentTypeID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_ContentType");
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="aspnet_User_carrot_RootContent", Storage="_aspnet_User", ThisKey="CreateUserId", OtherKey="UserId", IsForeignKey=true)]
		public aspnet_User aspnet_User
		{
			get
			{
				return this._aspnet_User.Entity;
			}
			set
			{
				aspnet_User previousValue = this._aspnet_User.Entity;
				if (((previousValue != value) 
							|| (this._aspnet_User.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._aspnet_User.Entity = null;
						previousValue.carrot_RootContents.Remove(this);
					}
					this._aspnet_User.Entity = value;
					if ((value != null))
					{
						value.carrot_RootContents.Add(this);
						this._CreateUserId = value.UserId;
					}
					else
					{
						this._CreateUserId = default(System.Guid);
					}
					this.SendPropertyChanged("aspnet_User");
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_Site_carrot_RootContent", Storage="_carrot_Site", ThisKey="SiteID", OtherKey="SiteID", IsForeignKey=true)]
		public carrot_Site carrot_Site
		{
			get
			{
				return this._carrot_Site.Entity;
			}
			set
			{
				carrot_Site previousValue = this._carrot_Site.Entity;
				if (((previousValue != value) 
							|| (this._carrot_Site.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_Site.Entity = null;
						previousValue.carrot_RootContents.Remove(this);
					}
					this._carrot_Site.Entity = value;
					if ((value != null))
					{
						value.carrot_RootContents.Add(this);
						this._SiteID = value.SiteID;
					}
					else
					{
						this._SiteID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_Site");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
		
		private void attach_carrot_CategoryContentMappings(carrot_CategoryContentMapping entity)
		{
			this.SendPropertyChanging();
			entity.carrot_RootContent = this;
		}
		
		private void detach_carrot_CategoryContentMappings(carrot_CategoryContentMapping entity)
		{
			this.SendPropertyChanging();
			entity.carrot_RootContent = null;
		}
		
		private void attach_carrot_TagContentMappings(carrot_TagContentMapping entity)
		{
			this.SendPropertyChanging();
			entity.carrot_RootContent = this;
		}
		
		private void detach_carrot_TagContentMappings(carrot_TagContentMapping entity)
		{
			this.SendPropertyChanging();
			entity.carrot_RootContent = null;
		}
		
		private void attach_carrot_Widgets(carrot_Widget entity)
		{
			this.SendPropertyChanging();
			entity.carrot_RootContent = this;
		}
		
		private void detach_carrot_Widgets(carrot_Widget entity)
		{
			this.SendPropertyChanging();
			entity.carrot_RootContent = null;
		}
		
		private void attach_carrot_ContentComments(carrot_ContentComment entity)
		{
			this.SendPropertyChanging();
			entity.carrot_RootContent = this;
		}
		
		private void detach_carrot_ContentComments(carrot_ContentComment entity)
		{
			this.SendPropertyChanging();
			entity.carrot_RootContent = null;
		}
		
		private void attach_carrot_TrackbackQueues(carrot_TrackbackQueue entity)
		{
			this.SendPropertyChanging();
			entity.carrot_RootContent = this;
		}
		
		private void detach_carrot_TrackbackQueues(carrot_TrackbackQueue entity)
		{
			this.SendPropertyChanging();
			entity.carrot_RootContent = null;
		}
		
		private void attach_carrot_Contents(carrot_Content entity)
		{
			this.SendPropertyChanging();
			entity.carrot_RootContent = this;
		}
		
		private void detach_carrot_Contents(carrot_Content entity)
		{
			this.SendPropertyChanging();
			entity.carrot_RootContent = null;
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_TextWidget")]
	public partial class carrot_TextWidget : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _TextWidgetID;
		
		private System.Guid _SiteID;
		
		private string _TextWidgetAssembly;
		
		private bool _ProcessBody;
		
		private bool _ProcessPlainText;
		
		private bool _ProcessHTMLText;
		
		private bool _ProcessComment;
		
		private bool _ProcessSnippet;
		
		private EntityRef<carrot_Site> _carrot_Site;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnTextWidgetIDChanging(System.Guid value);
    partial void OnTextWidgetIDChanged();
    partial void OnSiteIDChanging(System.Guid value);
    partial void OnSiteIDChanged();
    partial void OnTextWidgetAssemblyChanging(string value);
    partial void OnTextWidgetAssemblyChanged();
    partial void OnProcessBodyChanging(bool value);
    partial void OnProcessBodyChanged();
    partial void OnProcessPlainTextChanging(bool value);
    partial void OnProcessPlainTextChanged();
    partial void OnProcessHTMLTextChanging(bool value);
    partial void OnProcessHTMLTextChanged();
    partial void OnProcessCommentChanging(bool value);
    partial void OnProcessCommentChanged();
    partial void OnProcessSnippetChanging(bool value);
    partial void OnProcessSnippetChanged();
    #endregion
		
		public carrot_TextWidget()
		{
			this._carrot_Site = default(EntityRef<carrot_Site>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TextWidgetID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid TextWidgetID
		{
			get
			{
				return this._TextWidgetID;
			}
			set
			{
				if ((this._TextWidgetID != value))
				{
					this.OnTextWidgetIDChanging(value);
					this.SendPropertyChanging();
					this._TextWidgetID = value;
					this.SendPropertyChanged("TextWidgetID");
					this.OnTextWidgetIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					if (this._carrot_Site.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnSiteIDChanging(value);
					this.SendPropertyChanging();
					this._SiteID = value;
					this.SendPropertyChanged("SiteID");
					this.OnSiteIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TextWidgetAssembly", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string TextWidgetAssembly
		{
			get
			{
				return this._TextWidgetAssembly;
			}
			set
			{
				if ((this._TextWidgetAssembly != value))
				{
					this.OnTextWidgetAssemblyChanging(value);
					this.SendPropertyChanging();
					this._TextWidgetAssembly = value;
					this.SendPropertyChanged("TextWidgetAssembly");
					this.OnTextWidgetAssemblyChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProcessBody", DbType="Bit NOT NULL")]
		public bool ProcessBody
		{
			get
			{
				return this._ProcessBody;
			}
			set
			{
				if ((this._ProcessBody != value))
				{
					this.OnProcessBodyChanging(value);
					this.SendPropertyChanging();
					this._ProcessBody = value;
					this.SendPropertyChanged("ProcessBody");
					this.OnProcessBodyChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProcessPlainText", DbType="Bit NOT NULL")]
		public bool ProcessPlainText
		{
			get
			{
				return this._ProcessPlainText;
			}
			set
			{
				if ((this._ProcessPlainText != value))
				{
					this.OnProcessPlainTextChanging(value);
					this.SendPropertyChanging();
					this._ProcessPlainText = value;
					this.SendPropertyChanged("ProcessPlainText");
					this.OnProcessPlainTextChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProcessHTMLText", DbType="Bit NOT NULL")]
		public bool ProcessHTMLText
		{
			get
			{
				return this._ProcessHTMLText;
			}
			set
			{
				if ((this._ProcessHTMLText != value))
				{
					this.OnProcessHTMLTextChanging(value);
					this.SendPropertyChanging();
					this._ProcessHTMLText = value;
					this.SendPropertyChanged("ProcessHTMLText");
					this.OnProcessHTMLTextChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProcessComment", DbType="Bit NOT NULL")]
		public bool ProcessComment
		{
			get
			{
				return this._ProcessComment;
			}
			set
			{
				if ((this._ProcessComment != value))
				{
					this.OnProcessCommentChanging(value);
					this.SendPropertyChanging();
					this._ProcessComment = value;
					this.SendPropertyChanged("ProcessComment");
					this.OnProcessCommentChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProcessSnippet", DbType="Bit NOT NULL")]
		public bool ProcessSnippet
		{
			get
			{
				return this._ProcessSnippet;
			}
			set
			{
				if ((this._ProcessSnippet != value))
				{
					this.OnProcessSnippetChanging(value);
					this.SendPropertyChanging();
					this._ProcessSnippet = value;
					this.SendPropertyChanged("ProcessSnippet");
					this.OnProcessSnippetChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_Site_carrot_TextWidget", Storage="_carrot_Site", ThisKey="SiteID", OtherKey="SiteID", IsForeignKey=true)]
		public carrot_Site carrot_Site
		{
			get
			{
				return this._carrot_Site.Entity;
			}
			set
			{
				carrot_Site previousValue = this._carrot_Site.Entity;
				if (((previousValue != value) 
							|| (this._carrot_Site.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_Site.Entity = null;
						previousValue.carrot_TextWidgets.Remove(this);
					}
					this._carrot_Site.Entity = value;
					if ((value != null))
					{
						value.carrot_TextWidgets.Add(this);
						this._SiteID = value.SiteID;
					}
					else
					{
						this._SiteID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_Site");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_RootContentSnippet")]
	public partial class carrot_RootContentSnippet : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _Root_ContentSnippetID;
		
		private System.Guid _SiteID;
		
		private string _ContentSnippetName;
		
		private string _ContentSnippetSlug;
		
		private System.Nullable<System.Guid> _Heartbeat_UserId;
		
		private System.Nullable<System.DateTime> _EditHeartbeat;
		
		private System.Guid _CreateUserId;
		
		private System.DateTime _CreateDate;
		
		private System.DateTime _GoLiveDate;
		
		private System.DateTime _RetireDate;
		
		private bool _ContentSnippetActive;
		
		private EntitySet<carrot_ContentSnippet> _carrot_ContentSnippets;
		
		private EntityRef<carrot_Site> _carrot_Site;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnRoot_ContentSnippetIDChanging(System.Guid value);
    partial void OnRoot_ContentSnippetIDChanged();
    partial void OnSiteIDChanging(System.Guid value);
    partial void OnSiteIDChanged();
    partial void OnContentSnippetNameChanging(string value);
    partial void OnContentSnippetNameChanged();
    partial void OnContentSnippetSlugChanging(string value);
    partial void OnContentSnippetSlugChanged();
    partial void OnHeartbeat_UserIdChanging(System.Nullable<System.Guid> value);
    partial void OnHeartbeat_UserIdChanged();
    partial void OnEditHeartbeatChanging(System.Nullable<System.DateTime> value);
    partial void OnEditHeartbeatChanged();
    partial void OnCreateUserIdChanging(System.Guid value);
    partial void OnCreateUserIdChanged();
    partial void OnCreateDateChanging(System.DateTime value);
    partial void OnCreateDateChanged();
    partial void OnGoLiveDateChanging(System.DateTime value);
    partial void OnGoLiveDateChanged();
    partial void OnRetireDateChanging(System.DateTime value);
    partial void OnRetireDateChanged();
    partial void OnContentSnippetActiveChanging(bool value);
    partial void OnContentSnippetActiveChanged();
    #endregion
		
		public carrot_RootContentSnippet()
		{
			this._carrot_ContentSnippets = new EntitySet<carrot_ContentSnippet>(new Action<carrot_ContentSnippet>(this.attach_carrot_ContentSnippets), new Action<carrot_ContentSnippet>(this.detach_carrot_ContentSnippets));
			this._carrot_Site = default(EntityRef<carrot_Site>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_ContentSnippetID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid Root_ContentSnippetID
		{
			get
			{
				return this._Root_ContentSnippetID;
			}
			set
			{
				if ((this._Root_ContentSnippetID != value))
				{
					this.OnRoot_ContentSnippetIDChanging(value);
					this.SendPropertyChanging();
					this._Root_ContentSnippetID = value;
					this.SendPropertyChanged("Root_ContentSnippetID");
					this.OnRoot_ContentSnippetIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					if (this._carrot_Site.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnSiteIDChanging(value);
					this.SendPropertyChanging();
					this._SiteID = value;
					this.SendPropertyChanged("SiteID");
					this.OnSiteIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentSnippetName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string ContentSnippetName
		{
			get
			{
				return this._ContentSnippetName;
			}
			set
			{
				if ((this._ContentSnippetName != value))
				{
					this.OnContentSnippetNameChanging(value);
					this.SendPropertyChanging();
					this._ContentSnippetName = value;
					this.SendPropertyChanged("ContentSnippetName");
					this.OnContentSnippetNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentSnippetSlug", DbType="NVarChar(128) NOT NULL", CanBeNull=false)]
		public string ContentSnippetSlug
		{
			get
			{
				return this._ContentSnippetSlug;
			}
			set
			{
				if ((this._ContentSnippetSlug != value))
				{
					this.OnContentSnippetSlugChanging(value);
					this.SendPropertyChanging();
					this._ContentSnippetSlug = value;
					this.SendPropertyChanged("ContentSnippetSlug");
					this.OnContentSnippetSlugChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Heartbeat_UserId", DbType="UniqueIdentifier")]
		public System.Nullable<System.Guid> Heartbeat_UserId
		{
			get
			{
				return this._Heartbeat_UserId;
			}
			set
			{
				if ((this._Heartbeat_UserId != value))
				{
					this.OnHeartbeat_UserIdChanging(value);
					this.SendPropertyChanging();
					this._Heartbeat_UserId = value;
					this.SendPropertyChanged("Heartbeat_UserId");
					this.OnHeartbeat_UserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditHeartbeat", DbType="DateTime")]
		public System.Nullable<System.DateTime> EditHeartbeat
		{
			get
			{
				return this._EditHeartbeat;
			}
			set
			{
				if ((this._EditHeartbeat != value))
				{
					this.OnEditHeartbeatChanging(value);
					this.SendPropertyChanging();
					this._EditHeartbeat = value;
					this.SendPropertyChanged("EditHeartbeat");
					this.OnEditHeartbeatChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateUserId", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid CreateUserId
		{
			get
			{
				return this._CreateUserId;
			}
			set
			{
				if ((this._CreateUserId != value))
				{
					this.OnCreateUserIdChanging(value);
					this.SendPropertyChanging();
					this._CreateUserId = value;
					this.SendPropertyChanged("CreateUserId");
					this.OnCreateUserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDate", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDate
		{
			get
			{
				return this._CreateDate;
			}
			set
			{
				if ((this._CreateDate != value))
				{
					this.OnCreateDateChanging(value);
					this.SendPropertyChanging();
					this._CreateDate = value;
					this.SendPropertyChanged("CreateDate");
					this.OnCreateDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GoLiveDate", DbType="DateTime NOT NULL")]
		public System.DateTime GoLiveDate
		{
			get
			{
				return this._GoLiveDate;
			}
			set
			{
				if ((this._GoLiveDate != value))
				{
					this.OnGoLiveDateChanging(value);
					this.SendPropertyChanging();
					this._GoLiveDate = value;
					this.SendPropertyChanged("GoLiveDate");
					this.OnGoLiveDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RetireDate", DbType="DateTime NOT NULL")]
		public System.DateTime RetireDate
		{
			get
			{
				return this._RetireDate;
			}
			set
			{
				if ((this._RetireDate != value))
				{
					this.OnRetireDateChanging(value);
					this.SendPropertyChanging();
					this._RetireDate = value;
					this.SendPropertyChanged("RetireDate");
					this.OnRetireDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentSnippetActive", DbType="Bit NOT NULL")]
		public bool ContentSnippetActive
		{
			get
			{
				return this._ContentSnippetActive;
			}
			set
			{
				if ((this._ContentSnippetActive != value))
				{
					this.OnContentSnippetActiveChanging(value);
					this.SendPropertyChanging();
					this._ContentSnippetActive = value;
					this.SendPropertyChanged("ContentSnippetActive");
					this.OnContentSnippetActiveChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_RootContentSnippet_carrot_ContentSnippet", Storage="_carrot_ContentSnippets", ThisKey="Root_ContentSnippetID", OtherKey="Root_ContentSnippetID")]
		public EntitySet<carrot_ContentSnippet> carrot_ContentSnippets
		{
			get
			{
				return this._carrot_ContentSnippets;
			}
			set
			{
				this._carrot_ContentSnippets.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_Site_carrot_RootContentSnippet", Storage="_carrot_Site", ThisKey="SiteID", OtherKey="SiteID", IsForeignKey=true)]
		public carrot_Site carrot_Site
		{
			get
			{
				return this._carrot_Site.Entity;
			}
			set
			{
				carrot_Site previousValue = this._carrot_Site.Entity;
				if (((previousValue != value) 
							|| (this._carrot_Site.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_Site.Entity = null;
						previousValue.carrot_RootContentSnippets.Remove(this);
					}
					this._carrot_Site.Entity = value;
					if ((value != null))
					{
						value.carrot_RootContentSnippets.Add(this);
						this._SiteID = value.SiteID;
					}
					else
					{
						this._SiteID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_Site");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
		
		private void attach_carrot_ContentSnippets(carrot_ContentSnippet entity)
		{
			this.SendPropertyChanging();
			entity.carrot_RootContentSnippet = this;
		}
		
		private void detach_carrot_ContentSnippets(carrot_ContentSnippet entity)
		{
			this.SendPropertyChanging();
			entity.carrot_RootContentSnippet = null;
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_ContentSnippet")]
	public partial class carrot_ContentSnippet : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _ContentSnippetID;
		
		private System.Guid _Root_ContentSnippetID;
		
		private bool _IsLatestVersion;
		
		private System.Guid _EditUserId;
		
		private System.DateTime _EditDate;
		
		private string _ContentBody;
		
		private EntityRef<carrot_RootContentSnippet> _carrot_RootContentSnippet;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnContentSnippetIDChanging(System.Guid value);
    partial void OnContentSnippetIDChanged();
    partial void OnRoot_ContentSnippetIDChanging(System.Guid value);
    partial void OnRoot_ContentSnippetIDChanged();
    partial void OnIsLatestVersionChanging(bool value);
    partial void OnIsLatestVersionChanged();
    partial void OnEditUserIdChanging(System.Guid value);
    partial void OnEditUserIdChanged();
    partial void OnEditDateChanging(System.DateTime value);
    partial void OnEditDateChanged();
    partial void OnContentBodyChanging(string value);
    partial void OnContentBodyChanged();
    #endregion
		
		public carrot_ContentSnippet()
		{
			this._carrot_RootContentSnippet = default(EntityRef<carrot_RootContentSnippet>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentSnippetID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid ContentSnippetID
		{
			get
			{
				return this._ContentSnippetID;
			}
			set
			{
				if ((this._ContentSnippetID != value))
				{
					this.OnContentSnippetIDChanging(value);
					this.SendPropertyChanging();
					this._ContentSnippetID = value;
					this.SendPropertyChanged("ContentSnippetID");
					this.OnContentSnippetIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_ContentSnippetID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Root_ContentSnippetID
		{
			get
			{
				return this._Root_ContentSnippetID;
			}
			set
			{
				if ((this._Root_ContentSnippetID != value))
				{
					if (this._carrot_RootContentSnippet.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnRoot_ContentSnippetIDChanging(value);
					this.SendPropertyChanging();
					this._Root_ContentSnippetID = value;
					this.SendPropertyChanged("Root_ContentSnippetID");
					this.OnRoot_ContentSnippetIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsLatestVersion", DbType="Bit NOT NULL")]
		public bool IsLatestVersion
		{
			get
			{
				return this._IsLatestVersion;
			}
			set
			{
				if ((this._IsLatestVersion != value))
				{
					this.OnIsLatestVersionChanging(value);
					this.SendPropertyChanging();
					this._IsLatestVersion = value;
					this.SendPropertyChanged("IsLatestVersion");
					this.OnIsLatestVersionChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditUserId", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid EditUserId
		{
			get
			{
				return this._EditUserId;
			}
			set
			{
				if ((this._EditUserId != value))
				{
					this.OnEditUserIdChanging(value);
					this.SendPropertyChanging();
					this._EditUserId = value;
					this.SendPropertyChanged("EditUserId");
					this.OnEditUserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditDate", DbType="DateTime NOT NULL")]
		public System.DateTime EditDate
		{
			get
			{
				return this._EditDate;
			}
			set
			{
				if ((this._EditDate != value))
				{
					this.OnEditDateChanging(value);
					this.SendPropertyChanging();
					this._EditDate = value;
					this.SendPropertyChanged("EditDate");
					this.OnEditDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentBody", DbType="NVarChar(MAX)")]
		public string ContentBody
		{
			get
			{
				return this._ContentBody;
			}
			set
			{
				if ((this._ContentBody != value))
				{
					this.OnContentBodyChanging(value);
					this.SendPropertyChanging();
					this._ContentBody = value;
					this.SendPropertyChanged("ContentBody");
					this.OnContentBodyChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_RootContentSnippet_carrot_ContentSnippet", Storage="_carrot_RootContentSnippet", ThisKey="Root_ContentSnippetID", OtherKey="Root_ContentSnippetID", IsForeignKey=true)]
		public carrot_RootContentSnippet carrot_RootContentSnippet
		{
			get
			{
				return this._carrot_RootContentSnippet.Entity;
			}
			set
			{
				carrot_RootContentSnippet previousValue = this._carrot_RootContentSnippet.Entity;
				if (((previousValue != value) 
							|| (this._carrot_RootContentSnippet.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_RootContentSnippet.Entity = null;
						previousValue.carrot_ContentSnippets.Remove(this);
					}
					this._carrot_RootContentSnippet.Entity = value;
					if ((value != null))
					{
						value.carrot_ContentSnippets.Add(this);
						this._Root_ContentSnippetID = value.Root_ContentSnippetID;
					}
					else
					{
						this._Root_ContentSnippetID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_RootContentSnippet");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.vw_carrot_ContentSnippet")]
	public partial class vw_carrot_ContentSnippet
	{
		
		private System.Guid _Root_ContentSnippetID;
		
		private System.Guid _SiteID;
		
		private string _ContentSnippetName;
		
		private string _ContentSnippetSlug;
		
		private System.Guid _CreateUserId;
		
		private System.DateTime _CreateDate;
		
		private bool _ContentSnippetActive;
		
		private System.Guid _ContentSnippetID;
		
		private bool _IsLatestVersion;
		
		private System.Guid _EditUserId;
		
		private System.DateTime _EditDate;
		
		private string _ContentBody;
		
		private System.Nullable<System.Guid> _Heartbeat_UserId;
		
		private System.Nullable<System.DateTime> _EditHeartbeat;
		
		private System.DateTime _GoLiveDate;
		
		private System.DateTime _RetireDate;
		
		private System.Nullable<bool> _IsRetired;
		
		private System.Nullable<bool> _IsUnReleased;
		
		private System.Nullable<int> _VersionCount;
		
		public vw_carrot_ContentSnippet()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_ContentSnippetID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Root_ContentSnippetID
		{
			get
			{
				return this._Root_ContentSnippetID;
			}
			set
			{
				if ((this._Root_ContentSnippetID != value))
				{
					this._Root_ContentSnippetID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					this._SiteID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentSnippetName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string ContentSnippetName
		{
			get
			{
				return this._ContentSnippetName;
			}
			set
			{
				if ((this._ContentSnippetName != value))
				{
					this._ContentSnippetName = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentSnippetSlug", DbType="NVarChar(128) NOT NULL", CanBeNull=false)]
		public string ContentSnippetSlug
		{
			get
			{
				return this._ContentSnippetSlug;
			}
			set
			{
				if ((this._ContentSnippetSlug != value))
				{
					this._ContentSnippetSlug = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateUserId", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid CreateUserId
		{
			get
			{
				return this._CreateUserId;
			}
			set
			{
				if ((this._CreateUserId != value))
				{
					this._CreateUserId = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDate", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDate
		{
			get
			{
				return this._CreateDate;
			}
			set
			{
				if ((this._CreateDate != value))
				{
					this._CreateDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentSnippetActive", DbType="Bit NOT NULL")]
		public bool ContentSnippetActive
		{
			get
			{
				return this._ContentSnippetActive;
			}
			set
			{
				if ((this._ContentSnippetActive != value))
				{
					this._ContentSnippetActive = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentSnippetID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ContentSnippetID
		{
			get
			{
				return this._ContentSnippetID;
			}
			set
			{
				if ((this._ContentSnippetID != value))
				{
					this._ContentSnippetID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsLatestVersion", DbType="Bit NOT NULL")]
		public bool IsLatestVersion
		{
			get
			{
				return this._IsLatestVersion;
			}
			set
			{
				if ((this._IsLatestVersion != value))
				{
					this._IsLatestVersion = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditUserId", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid EditUserId
		{
			get
			{
				return this._EditUserId;
			}
			set
			{
				if ((this._EditUserId != value))
				{
					this._EditUserId = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditDate", DbType="DateTime NOT NULL")]
		public System.DateTime EditDate
		{
			get
			{
				return this._EditDate;
			}
			set
			{
				if ((this._EditDate != value))
				{
					this._EditDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentBody", DbType="NVarChar(MAX)")]
		public string ContentBody
		{
			get
			{
				return this._ContentBody;
			}
			set
			{
				if ((this._ContentBody != value))
				{
					this._ContentBody = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Heartbeat_UserId", DbType="UniqueIdentifier")]
		public System.Nullable<System.Guid> Heartbeat_UserId
		{
			get
			{
				return this._Heartbeat_UserId;
			}
			set
			{
				if ((this._Heartbeat_UserId != value))
				{
					this._Heartbeat_UserId = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditHeartbeat", DbType="DateTime")]
		public System.Nullable<System.DateTime> EditHeartbeat
		{
			get
			{
				return this._EditHeartbeat;
			}
			set
			{
				if ((this._EditHeartbeat != value))
				{
					this._EditHeartbeat = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GoLiveDate", DbType="DateTime NOT NULL")]
		public System.DateTime GoLiveDate
		{
			get
			{
				return this._GoLiveDate;
			}
			set
			{
				if ((this._GoLiveDate != value))
				{
					this._GoLiveDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RetireDate", DbType="DateTime NOT NULL")]
		public System.DateTime RetireDate
		{
			get
			{
				return this._RetireDate;
			}
			set
			{
				if ((this._RetireDate != value))
				{
					this._RetireDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsRetired", DbType="Bit")]
		public System.Nullable<bool> IsRetired
		{
			get
			{
				return this._IsRetired;
			}
			set
			{
				if ((this._IsRetired != value))
				{
					this._IsRetired = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsUnReleased", DbType="Bit")]
		public System.Nullable<bool> IsUnReleased
		{
			get
			{
				return this._IsUnReleased;
			}
			set
			{
				if ((this._IsUnReleased != value))
				{
					this._IsUnReleased = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_VersionCount", DbType="Int")]
		public System.Nullable<int> VersionCount
		{
			get
			{
				return this._VersionCount;
			}
			set
			{
				if ((this._VersionCount != value))
				{
					this._VersionCount = value;
				}
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_Sites")]
	public partial class carrot_Site : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _SiteID;
		
		private string _MetaKeyword;
		
		private string _MetaDescription;
		
		private string _SiteName;
		
		private string _MainURL;
		
		private bool _BlockIndex;
		
		private string _SiteTagline;
		
		private string _SiteTitlebarPattern;
		
		private System.Nullable<System.Guid> _Blog_Root_ContentID;
		
		private string _Blog_FolderPath;
		
		private string _Blog_CategoryPath;
		
		private string _Blog_TagPath;
		
		private string _Blog_DatePattern;
		
		private string _TimeZone;
		
		private bool _SendTrackbacks;
		
		private bool _AcceptTrackbacks;
		
		private string _Blog_DatePath;
		
		private string _Blog_EditorPath;
		
		private EntitySet<carrot_UserSiteMapping> _carrot_UserSiteMappings;
		
		private EntitySet<carrot_ContentTag> _carrot_ContentTags;
		
		private EntitySet<carrot_ContentCategory> _carrot_ContentCategories;
		
		private EntitySet<carrot_RootContent> _carrot_RootContents;
		
		private EntitySet<carrot_TextWidget> _carrot_TextWidgets;
		
		private EntitySet<carrot_RootContentSnippet> _carrot_RootContentSnippets;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnSiteIDChanging(System.Guid value);
    partial void OnSiteIDChanged();
    partial void OnMetaKeywordChanging(string value);
    partial void OnMetaKeywordChanged();
    partial void OnMetaDescriptionChanging(string value);
    partial void OnMetaDescriptionChanged();
    partial void OnSiteNameChanging(string value);
    partial void OnSiteNameChanged();
    partial void OnMainURLChanging(string value);
    partial void OnMainURLChanged();
    partial void OnBlockIndexChanging(bool value);
    partial void OnBlockIndexChanged();
    partial void OnSiteTaglineChanging(string value);
    partial void OnSiteTaglineChanged();
    partial void OnSiteTitlebarPatternChanging(string value);
    partial void OnSiteTitlebarPatternChanged();
    partial void OnBlog_Root_ContentIDChanging(System.Nullable<System.Guid> value);
    partial void OnBlog_Root_ContentIDChanged();
    partial void OnBlog_FolderPathChanging(string value);
    partial void OnBlog_FolderPathChanged();
    partial void OnBlog_CategoryPathChanging(string value);
    partial void OnBlog_CategoryPathChanged();
    partial void OnBlog_TagPathChanging(string value);
    partial void OnBlog_TagPathChanged();
    partial void OnBlog_DatePatternChanging(string value);
    partial void OnBlog_DatePatternChanged();
    partial void OnTimeZoneChanging(string value);
    partial void OnTimeZoneChanged();
    partial void OnSendTrackbacksChanging(bool value);
    partial void OnSendTrackbacksChanged();
    partial void OnAcceptTrackbacksChanging(bool value);
    partial void OnAcceptTrackbacksChanged();
    partial void OnBlog_DatePathChanging(string value);
    partial void OnBlog_DatePathChanged();
    partial void OnBlog_EditorPathChanging(string value);
    partial void OnBlog_EditorPathChanged();
    #endregion
		
		public carrot_Site()
		{
			this._carrot_UserSiteMappings = new EntitySet<carrot_UserSiteMapping>(new Action<carrot_UserSiteMapping>(this.attach_carrot_UserSiteMappings), new Action<carrot_UserSiteMapping>(this.detach_carrot_UserSiteMappings));
			this._carrot_ContentTags = new EntitySet<carrot_ContentTag>(new Action<carrot_ContentTag>(this.attach_carrot_ContentTags), new Action<carrot_ContentTag>(this.detach_carrot_ContentTags));
			this._carrot_ContentCategories = new EntitySet<carrot_ContentCategory>(new Action<carrot_ContentCategory>(this.attach_carrot_ContentCategories), new Action<carrot_ContentCategory>(this.detach_carrot_ContentCategories));
			this._carrot_RootContents = new EntitySet<carrot_RootContent>(new Action<carrot_RootContent>(this.attach_carrot_RootContents), new Action<carrot_RootContent>(this.detach_carrot_RootContents));
			this._carrot_TextWidgets = new EntitySet<carrot_TextWidget>(new Action<carrot_TextWidget>(this.attach_carrot_TextWidgets), new Action<carrot_TextWidget>(this.detach_carrot_TextWidgets));
			this._carrot_RootContentSnippets = new EntitySet<carrot_RootContentSnippet>(new Action<carrot_RootContentSnippet>(this.attach_carrot_RootContentSnippets), new Action<carrot_RootContentSnippet>(this.detach_carrot_RootContentSnippets));
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					this.OnSiteIDChanging(value);
					this.SendPropertyChanging();
					this._SiteID = value;
					this.SendPropertyChanged("SiteID");
					this.OnSiteIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MetaKeyword", DbType="NVarChar(1024)")]
		public string MetaKeyword
		{
			get
			{
				return this._MetaKeyword;
			}
			set
			{
				if ((this._MetaKeyword != value))
				{
					this.OnMetaKeywordChanging(value);
					this.SendPropertyChanging();
					this._MetaKeyword = value;
					this.SendPropertyChanged("MetaKeyword");
					this.OnMetaKeywordChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MetaDescription", DbType="NVarChar(1024)")]
		public string MetaDescription
		{
			get
			{
				return this._MetaDescription;
			}
			set
			{
				if ((this._MetaDescription != value))
				{
					this.OnMetaDescriptionChanging(value);
					this.SendPropertyChanging();
					this._MetaDescription = value;
					this.SendPropertyChanged("MetaDescription");
					this.OnMetaDescriptionChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteName", DbType="NVarChar(256)")]
		public string SiteName
		{
			get
			{
				return this._SiteName;
			}
			set
			{
				if ((this._SiteName != value))
				{
					this.OnSiteNameChanging(value);
					this.SendPropertyChanging();
					this._SiteName = value;
					this.SendPropertyChanged("SiteName");
					this.OnSiteNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MainURL", DbType="NVarChar(128)")]
		public string MainURL
		{
			get
			{
				return this._MainURL;
			}
			set
			{
				if ((this._MainURL != value))
				{
					this.OnMainURLChanging(value);
					this.SendPropertyChanging();
					this._MainURL = value;
					this.SendPropertyChanged("MainURL");
					this.OnMainURLChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BlockIndex", DbType="Bit NOT NULL")]
		public bool BlockIndex
		{
			get
			{
				return this._BlockIndex;
			}
			set
			{
				if ((this._BlockIndex != value))
				{
					this.OnBlockIndexChanging(value);
					this.SendPropertyChanging();
					this._BlockIndex = value;
					this.SendPropertyChanged("BlockIndex");
					this.OnBlockIndexChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteTagline", DbType="NVarChar(1024)")]
		public string SiteTagline
		{
			get
			{
				return this._SiteTagline;
			}
			set
			{
				if ((this._SiteTagline != value))
				{
					this.OnSiteTaglineChanging(value);
					this.SendPropertyChanging();
					this._SiteTagline = value;
					this.SendPropertyChanged("SiteTagline");
					this.OnSiteTaglineChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteTitlebarPattern", DbType="NVarChar(1024)")]
		public string SiteTitlebarPattern
		{
			get
			{
				return this._SiteTitlebarPattern;
			}
			set
			{
				if ((this._SiteTitlebarPattern != value))
				{
					this.OnSiteTitlebarPatternChanging(value);
					this.SendPropertyChanging();
					this._SiteTitlebarPattern = value;
					this.SendPropertyChanged("SiteTitlebarPattern");
					this.OnSiteTitlebarPatternChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Blog_Root_ContentID", DbType="UniqueIdentifier")]
		public System.Nullable<System.Guid> Blog_Root_ContentID
		{
			get
			{
				return this._Blog_Root_ContentID;
			}
			set
			{
				if ((this._Blog_Root_ContentID != value))
				{
					this.OnBlog_Root_ContentIDChanging(value);
					this.SendPropertyChanging();
					this._Blog_Root_ContentID = value;
					this.SendPropertyChanged("Blog_Root_ContentID");
					this.OnBlog_Root_ContentIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Blog_FolderPath", DbType="NVarChar(64)")]
		public string Blog_FolderPath
		{
			get
			{
				return this._Blog_FolderPath;
			}
			set
			{
				if ((this._Blog_FolderPath != value))
				{
					this.OnBlog_FolderPathChanging(value);
					this.SendPropertyChanging();
					this._Blog_FolderPath = value;
					this.SendPropertyChanged("Blog_FolderPath");
					this.OnBlog_FolderPathChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Blog_CategoryPath", DbType="NVarChar(64)")]
		public string Blog_CategoryPath
		{
			get
			{
				return this._Blog_CategoryPath;
			}
			set
			{
				if ((this._Blog_CategoryPath != value))
				{
					this.OnBlog_CategoryPathChanging(value);
					this.SendPropertyChanging();
					this._Blog_CategoryPath = value;
					this.SendPropertyChanged("Blog_CategoryPath");
					this.OnBlog_CategoryPathChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Blog_TagPath", DbType="NVarChar(64)")]
		public string Blog_TagPath
		{
			get
			{
				return this._Blog_TagPath;
			}
			set
			{
				if ((this._Blog_TagPath != value))
				{
					this.OnBlog_TagPathChanging(value);
					this.SendPropertyChanging();
					this._Blog_TagPath = value;
					this.SendPropertyChanged("Blog_TagPath");
					this.OnBlog_TagPathChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Blog_DatePattern", DbType="NVarChar(32)")]
		public string Blog_DatePattern
		{
			get
			{
				return this._Blog_DatePattern;
			}
			set
			{
				if ((this._Blog_DatePattern != value))
				{
					this.OnBlog_DatePatternChanging(value);
					this.SendPropertyChanging();
					this._Blog_DatePattern = value;
					this.SendPropertyChanged("Blog_DatePattern");
					this.OnBlog_DatePatternChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TimeZone", DbType="NVarChar(128)")]
		public string TimeZone
		{
			get
			{
				return this._TimeZone;
			}
			set
			{
				if ((this._TimeZone != value))
				{
					this.OnTimeZoneChanging(value);
					this.SendPropertyChanging();
					this._TimeZone = value;
					this.SendPropertyChanged("TimeZone");
					this.OnTimeZoneChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SendTrackbacks", DbType="Bit NOT NULL")]
		public bool SendTrackbacks
		{
			get
			{
				return this._SendTrackbacks;
			}
			set
			{
				if ((this._SendTrackbacks != value))
				{
					this.OnSendTrackbacksChanging(value);
					this.SendPropertyChanging();
					this._SendTrackbacks = value;
					this.SendPropertyChanged("SendTrackbacks");
					this.OnSendTrackbacksChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AcceptTrackbacks", DbType="Bit NOT NULL")]
		public bool AcceptTrackbacks
		{
			get
			{
				return this._AcceptTrackbacks;
			}
			set
			{
				if ((this._AcceptTrackbacks != value))
				{
					this.OnAcceptTrackbacksChanging(value);
					this.SendPropertyChanging();
					this._AcceptTrackbacks = value;
					this.SendPropertyChanged("AcceptTrackbacks");
					this.OnAcceptTrackbacksChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Blog_DatePath", DbType="NVarChar(64)")]
		public string Blog_DatePath
		{
			get
			{
				return this._Blog_DatePath;
			}
			set
			{
				if ((this._Blog_DatePath != value))
				{
					this.OnBlog_DatePathChanging(value);
					this.SendPropertyChanging();
					this._Blog_DatePath = value;
					this.SendPropertyChanged("Blog_DatePath");
					this.OnBlog_DatePathChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Blog_EditorPath", DbType="NVarChar(64)")]
		public string Blog_EditorPath
		{
			get
			{
				return this._Blog_EditorPath;
			}
			set
			{
				if ((this._Blog_EditorPath != value))
				{
					this.OnBlog_EditorPathChanging(value);
					this.SendPropertyChanging();
					this._Blog_EditorPath = value;
					this.SendPropertyChanged("Blog_EditorPath");
					this.OnBlog_EditorPathChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_Site_carrot_UserSiteMapping", Storage="_carrot_UserSiteMappings", ThisKey="SiteID", OtherKey="SiteID")]
		public EntitySet<carrot_UserSiteMapping> carrot_UserSiteMappings
		{
			get
			{
				return this._carrot_UserSiteMappings;
			}
			set
			{
				this._carrot_UserSiteMappings.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_Site_carrot_ContentTag", Storage="_carrot_ContentTags", ThisKey="SiteID", OtherKey="SiteID")]
		public EntitySet<carrot_ContentTag> carrot_ContentTags
		{
			get
			{
				return this._carrot_ContentTags;
			}
			set
			{
				this._carrot_ContentTags.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_Site_carrot_ContentCategory", Storage="_carrot_ContentCategories", ThisKey="SiteID", OtherKey="SiteID")]
		public EntitySet<carrot_ContentCategory> carrot_ContentCategories
		{
			get
			{
				return this._carrot_ContentCategories;
			}
			set
			{
				this._carrot_ContentCategories.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_Site_carrot_RootContent", Storage="_carrot_RootContents", ThisKey="SiteID", OtherKey="SiteID")]
		public EntitySet<carrot_RootContent> carrot_RootContents
		{
			get
			{
				return this._carrot_RootContents;
			}
			set
			{
				this._carrot_RootContents.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_Site_carrot_TextWidget", Storage="_carrot_TextWidgets", ThisKey="SiteID", OtherKey="SiteID")]
		public EntitySet<carrot_TextWidget> carrot_TextWidgets
		{
			get
			{
				return this._carrot_TextWidgets;
			}
			set
			{
				this._carrot_TextWidgets.Assign(value);
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_Site_carrot_RootContentSnippet", Storage="_carrot_RootContentSnippets", ThisKey="SiteID", OtherKey="SiteID")]
		public EntitySet<carrot_RootContentSnippet> carrot_RootContentSnippets
		{
			get
			{
				return this._carrot_RootContentSnippets;
			}
			set
			{
				this._carrot_RootContentSnippets.Assign(value);
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
		
		private void attach_carrot_UserSiteMappings(carrot_UserSiteMapping entity)
		{
			this.SendPropertyChanging();
			entity.carrot_Site = this;
		}
		
		private void detach_carrot_UserSiteMappings(carrot_UserSiteMapping entity)
		{
			this.SendPropertyChanging();
			entity.carrot_Site = null;
		}
		
		private void attach_carrot_ContentTags(carrot_ContentTag entity)
		{
			this.SendPropertyChanging();
			entity.carrot_Site = this;
		}
		
		private void detach_carrot_ContentTags(carrot_ContentTag entity)
		{
			this.SendPropertyChanging();
			entity.carrot_Site = null;
		}
		
		private void attach_carrot_ContentCategories(carrot_ContentCategory entity)
		{
			this.SendPropertyChanging();
			entity.carrot_Site = this;
		}
		
		private void detach_carrot_ContentCategories(carrot_ContentCategory entity)
		{
			this.SendPropertyChanging();
			entity.carrot_Site = null;
		}
		
		private void attach_carrot_RootContents(carrot_RootContent entity)
		{
			this.SendPropertyChanging();
			entity.carrot_Site = this;
		}
		
		private void detach_carrot_RootContents(carrot_RootContent entity)
		{
			this.SendPropertyChanging();
			entity.carrot_Site = null;
		}
		
		private void attach_carrot_TextWidgets(carrot_TextWidget entity)
		{
			this.SendPropertyChanging();
			entity.carrot_Site = this;
		}
		
		private void detach_carrot_TextWidgets(carrot_TextWidget entity)
		{
			this.SendPropertyChanging();
			entity.carrot_Site = null;
		}
		
		private void attach_carrot_RootContentSnippets(carrot_RootContentSnippet entity)
		{
			this.SendPropertyChanging();
			entity.carrot_Site = this;
		}
		
		private void detach_carrot_RootContentSnippets(carrot_RootContentSnippet entity)
		{
			this.SendPropertyChanging();
			entity.carrot_Site = null;
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_UserData")]
	public partial class carrot_UserData : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _UserId;
		
		private string _UserNickName;
		
		private string _FirstName;
		
		private string _LastName;
		
		private string _UserBio;
		
		private EntityRef<aspnet_User> _aspnet_User;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnUserIdChanging(System.Guid value);
    partial void OnUserIdChanged();
    partial void OnUserNickNameChanging(string value);
    partial void OnUserNickNameChanged();
    partial void OnFirstNameChanging(string value);
    partial void OnFirstNameChanged();
    partial void OnLastNameChanging(string value);
    partial void OnLastNameChanged();
    partial void OnUserBioChanging(string value);
    partial void OnUserBioChanged();
    #endregion
		
		public carrot_UserData()
		{
			this._aspnet_User = default(EntityRef<aspnet_User>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid UserId
		{
			get
			{
				return this._UserId;
			}
			set
			{
				if ((this._UserId != value))
				{
					if (this._aspnet_User.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnUserIdChanging(value);
					this.SendPropertyChanging();
					this._UserId = value;
					this.SendPropertyChanged("UserId");
					this.OnUserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserNickName", DbType="NVarChar(64)")]
		public string UserNickName
		{
			get
			{
				return this._UserNickName;
			}
			set
			{
				if ((this._UserNickName != value))
				{
					this.OnUserNickNameChanging(value);
					this.SendPropertyChanging();
					this._UserNickName = value;
					this.SendPropertyChanged("UserNickName");
					this.OnUserNickNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FirstName", DbType="NVarChar(64)")]
		public string FirstName
		{
			get
			{
				return this._FirstName;
			}
			set
			{
				if ((this._FirstName != value))
				{
					this.OnFirstNameChanging(value);
					this.SendPropertyChanging();
					this._FirstName = value;
					this.SendPropertyChanged("FirstName");
					this.OnFirstNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastName", DbType="NVarChar(64)")]
		public string LastName
		{
			get
			{
				return this._LastName;
			}
			set
			{
				if ((this._LastName != value))
				{
					this.OnLastNameChanging(value);
					this.SendPropertyChanging();
					this._LastName = value;
					this.SendPropertyChanged("LastName");
					this.OnLastNameChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserBio", DbType="NVarChar(MAX)")]
		public string UserBio
		{
			get
			{
				return this._UserBio;
			}
			set
			{
				if ((this._UserBio != value))
				{
					this.OnUserBioChanging(value);
					this.SendPropertyChanging();
					this._UserBio = value;
					this.SendPropertyChanged("UserBio");
					this.OnUserBioChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="aspnet_User_carrot_UserData", Storage="_aspnet_User", ThisKey="UserId", OtherKey="UserId", IsForeignKey=true)]
		public aspnet_User aspnet_User
		{
			get
			{
				return this._aspnet_User.Entity;
			}
			set
			{
				aspnet_User previousValue = this._aspnet_User.Entity;
				if (((previousValue != value) 
							|| (this._aspnet_User.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._aspnet_User.Entity = null;
						previousValue.carrot_UserData = null;
					}
					this._aspnet_User.Entity = value;
					if ((value != null))
					{
						value.carrot_UserData = this;
						this._UserId = value.UserId;
					}
					else
					{
						this._UserId = default(System.Guid);
					}
					this.SendPropertyChanged("aspnet_User");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.vw_carrot_UserData")]
	public partial class vw_carrot_UserData
	{
		
		private System.Guid _UserId;
		
		private string _UserNickName;
		
		private string _FirstName;
		
		private string _LastName;
		
		private string _LoweredEmail;
		
		private bool _IsApproved;
		
		private bool _IsLockedOut;
		
		private System.DateTime _CreateDate;
		
		private System.DateTime _LastLoginDate;
		
		private string _UserName;
		
		private System.DateTime _LastActivityDate;
		
		private string _UserBio;
		
		public vw_carrot_UserData()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid UserId
		{
			get
			{
				return this._UserId;
			}
			set
			{
				if ((this._UserId != value))
				{
					this._UserId = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserNickName", DbType="NVarChar(64)")]
		public string UserNickName
		{
			get
			{
				return this._UserNickName;
			}
			set
			{
				if ((this._UserNickName != value))
				{
					this._UserNickName = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FirstName", DbType="NVarChar(64)")]
		public string FirstName
		{
			get
			{
				return this._FirstName;
			}
			set
			{
				if ((this._FirstName != value))
				{
					this._FirstName = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastName", DbType="NVarChar(64)")]
		public string LastName
		{
			get
			{
				return this._LastName;
			}
			set
			{
				if ((this._LastName != value))
				{
					this._LastName = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LoweredEmail", DbType="NVarChar(256)")]
		public string LoweredEmail
		{
			get
			{
				return this._LoweredEmail;
			}
			set
			{
				if ((this._LoweredEmail != value))
				{
					this._LoweredEmail = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsApproved", DbType="Bit NOT NULL")]
		public bool IsApproved
		{
			get
			{
				return this._IsApproved;
			}
			set
			{
				if ((this._IsApproved != value))
				{
					this._IsApproved = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsLockedOut", DbType="Bit NOT NULL")]
		public bool IsLockedOut
		{
			get
			{
				return this._IsLockedOut;
			}
			set
			{
				if ((this._IsLockedOut != value))
				{
					this._IsLockedOut = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDate", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDate
		{
			get
			{
				return this._CreateDate;
			}
			set
			{
				if ((this._CreateDate != value))
				{
					this._CreateDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastLoginDate", DbType="DateTime NOT NULL")]
		public System.DateTime LastLoginDate
		{
			get
			{
				return this._LastLoginDate;
			}
			set
			{
				if ((this._LastLoginDate != value))
				{
					this._LastLoginDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string UserName
		{
			get
			{
				return this._UserName;
			}
			set
			{
				if ((this._UserName != value))
				{
					this._UserName = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastActivityDate", DbType="DateTime NOT NULL")]
		public System.DateTime LastActivityDate
		{
			get
			{
				return this._LastActivityDate;
			}
			set
			{
				if ((this._LastActivityDate != value))
				{
					this._LastActivityDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserBio", DbType="NVarChar(MAX)")]
		public string UserBio
		{
			get
			{
				return this._UserBio;
			}
			set
			{
				if ((this._UserBio != value))
				{
					this._UserBio = value;
				}
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.vw_carrot_EditorURL")]
	public partial class vw_carrot_EditorURL
	{
		
		private System.Guid _SiteID;
		
		private System.Guid _UserId;
		
		private string _UserName;
		
		private string _LoweredEmail;
		
		private System.Nullable<System.DateTime> _EditDate;
		
		private int _UseCount;
		
		private int _PublicUseCount;
		
		private string _UserUrl;
		
		public vw_carrot_EditorURL()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					this._SiteID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid UserId
		{
			get
			{
				return this._UserId;
			}
			set
			{
				if ((this._UserId != value))
				{
					this._UserId = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string UserName
		{
			get
			{
				return this._UserName;
			}
			set
			{
				if ((this._UserName != value))
				{
					this._UserName = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LoweredEmail", DbType="NVarChar(256)")]
		public string LoweredEmail
		{
			get
			{
				return this._LoweredEmail;
			}
			set
			{
				if ((this._LoweredEmail != value))
				{
					this._LoweredEmail = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditDate", DbType="DateTime")]
		public System.Nullable<System.DateTime> EditDate
		{
			get
			{
				return this._EditDate;
			}
			set
			{
				if ((this._EditDate != value))
				{
					this._EditDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UseCount", DbType="Int NOT NULL")]
		public int UseCount
		{
			get
			{
				return this._UseCount;
			}
			set
			{
				if ((this._UseCount != value))
				{
					this._UseCount = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PublicUseCount", DbType="Int NOT NULL")]
		public int PublicUseCount
		{
			get
			{
				return this._PublicUseCount;
			}
			set
			{
				if ((this._PublicUseCount != value))
				{
					this._PublicUseCount = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserUrl", DbType="NVarChar(392)")]
		public string UserUrl
		{
			get
			{
				return this._UserUrl;
			}
			set
			{
				if ((this._UserUrl != value))
				{
					this._UserUrl = value;
				}
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.vw_carrot_TagURL")]
	public partial class vw_carrot_TagURL
	{
		
		private System.Guid _SiteID;
		
		private System.Guid _ContentTagID;
		
		private string _TagText;
		
		private bool _IsPublic;
		
		private System.Nullable<System.DateTime> _EditDate;
		
		private int _UseCount;
		
		private int _PublicUseCount;
		
		private string _TagUrl;
		
		public vw_carrot_TagURL()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					this._SiteID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentTagID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ContentTagID
		{
			get
			{
				return this._ContentTagID;
			}
			set
			{
				if ((this._ContentTagID != value))
				{
					this._ContentTagID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TagText", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string TagText
		{
			get
			{
				return this._TagText;
			}
			set
			{
				if ((this._TagText != value))
				{
					this._TagText = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsPublic", DbType="Bit NOT NULL")]
		public bool IsPublic
		{
			get
			{
				return this._IsPublic;
			}
			set
			{
				if ((this._IsPublic != value))
				{
					this._IsPublic = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditDate", DbType="DateTime")]
		public System.Nullable<System.DateTime> EditDate
		{
			get
			{
				return this._EditDate;
			}
			set
			{
				if ((this._EditDate != value))
				{
					this._EditDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UseCount", DbType="Int NOT NULL")]
		public int UseCount
		{
			get
			{
				return this._UseCount;
			}
			set
			{
				if ((this._UseCount != value))
				{
					this._UseCount = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PublicUseCount", DbType="Int NOT NULL")]
		public int PublicUseCount
		{
			get
			{
				return this._PublicUseCount;
			}
			set
			{
				if ((this._PublicUseCount != value))
				{
					this._PublicUseCount = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TagUrl", DbType="NVarChar(392)")]
		public string TagUrl
		{
			get
			{
				return this._TagUrl;
			}
			set
			{
				if ((this._TagUrl != value))
				{
					this._TagUrl = value;
				}
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.vw_carrot_CategoryURL")]
	public partial class vw_carrot_CategoryURL
	{
		
		private System.Guid _SiteID;
		
		private System.Guid _ContentCategoryID;
		
		private string _CategoryText;
		
		private bool _IsPublic;
		
		private System.Nullable<System.DateTime> _EditDate;
		
		private int _UseCount;
		
		private int _PublicUseCount;
		
		private string _CategoryUrl;
		
		public vw_carrot_CategoryURL()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					this._SiteID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentCategoryID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ContentCategoryID
		{
			get
			{
				return this._ContentCategoryID;
			}
			set
			{
				if ((this._ContentCategoryID != value))
				{
					this._ContentCategoryID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CategoryText", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string CategoryText
		{
			get
			{
				return this._CategoryText;
			}
			set
			{
				if ((this._CategoryText != value))
				{
					this._CategoryText = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsPublic", DbType="Bit NOT NULL")]
		public bool IsPublic
		{
			get
			{
				return this._IsPublic;
			}
			set
			{
				if ((this._IsPublic != value))
				{
					this._IsPublic = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditDate", DbType="DateTime")]
		public System.Nullable<System.DateTime> EditDate
		{
			get
			{
				return this._EditDate;
			}
			set
			{
				if ((this._EditDate != value))
				{
					this._EditDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UseCount", DbType="Int NOT NULL")]
		public int UseCount
		{
			get
			{
				return this._UseCount;
			}
			set
			{
				if ((this._UseCount != value))
				{
					this._UseCount = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PublicUseCount", DbType="Int NOT NULL")]
		public int PublicUseCount
		{
			get
			{
				return this._PublicUseCount;
			}
			set
			{
				if ((this._PublicUseCount != value))
				{
					this._PublicUseCount = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CategoryUrl", DbType="NVarChar(392)")]
		public string CategoryUrl
		{
			get
			{
				return this._CategoryUrl;
			}
			set
			{
				if ((this._CategoryUrl != value))
				{
					this._CategoryUrl = value;
				}
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.carrot_Content")]
	public partial class carrot_Content : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _ContentID;
		
		private System.Guid _Root_ContentID;
		
		private System.Nullable<System.Guid> _Parent_ContentID;
		
		private bool _IsLatestVersion;
		
		private string _TitleBar;
		
		private string _NavMenuText;
		
		private string _PageHead;
		
		private string _PageText;
		
		private string _LeftPageText;
		
		private string _RightPageText;
		
		private int _NavOrder;
		
		private System.Nullable<System.Guid> _EditUserId;
		
		private System.DateTime _EditDate;
		
		private string _TemplateFile;
		
		private string _MetaKeyword;
		
		private string _MetaDescription;
		
		private System.Nullable<System.Guid> _CreditUserId;
		
		private EntityRef<aspnet_User> _aspnet_User;
		
		private EntityRef<aspnet_User> _aspnet_User1;
		
		private EntityRef<carrot_RootContent> _carrot_RootContent;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnContentIDChanging(System.Guid value);
    partial void OnContentIDChanged();
    partial void OnRoot_ContentIDChanging(System.Guid value);
    partial void OnRoot_ContentIDChanged();
    partial void OnParent_ContentIDChanging(System.Nullable<System.Guid> value);
    partial void OnParent_ContentIDChanged();
    partial void OnIsLatestVersionChanging(bool value);
    partial void OnIsLatestVersionChanged();
    partial void OnTitleBarChanging(string value);
    partial void OnTitleBarChanged();
    partial void OnNavMenuTextChanging(string value);
    partial void OnNavMenuTextChanged();
    partial void OnPageHeadChanging(string value);
    partial void OnPageHeadChanged();
    partial void OnPageTextChanging(string value);
    partial void OnPageTextChanged();
    partial void OnLeftPageTextChanging(string value);
    partial void OnLeftPageTextChanged();
    partial void OnRightPageTextChanging(string value);
    partial void OnRightPageTextChanged();
    partial void OnNavOrderChanging(int value);
    partial void OnNavOrderChanged();
    partial void OnEditUserIdChanging(System.Nullable<System.Guid> value);
    partial void OnEditUserIdChanged();
    partial void OnEditDateChanging(System.DateTime value);
    partial void OnEditDateChanged();
    partial void OnTemplateFileChanging(string value);
    partial void OnTemplateFileChanged();
    partial void OnMetaKeywordChanging(string value);
    partial void OnMetaKeywordChanged();
    partial void OnMetaDescriptionChanging(string value);
    partial void OnMetaDescriptionChanged();
    partial void OnCreditUserIdChanging(System.Nullable<System.Guid> value);
    partial void OnCreditUserIdChanged();
    #endregion
		
		public carrot_Content()
		{
			this._aspnet_User = default(EntityRef<aspnet_User>);
			this._aspnet_User1 = default(EntityRef<aspnet_User>);
			this._carrot_RootContent = default(EntityRef<carrot_RootContent>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentID", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid ContentID
		{
			get
			{
				return this._ContentID;
			}
			set
			{
				if ((this._ContentID != value))
				{
					this.OnContentIDChanging(value);
					this.SendPropertyChanging();
					this._ContentID = value;
					this.SendPropertyChanged("ContentID");
					this.OnContentIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_ContentID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Root_ContentID
		{
			get
			{
				return this._Root_ContentID;
			}
			set
			{
				if ((this._Root_ContentID != value))
				{
					if (this._carrot_RootContent.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnRoot_ContentIDChanging(value);
					this.SendPropertyChanging();
					this._Root_ContentID = value;
					this.SendPropertyChanged("Root_ContentID");
					this.OnRoot_ContentIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Parent_ContentID", DbType="UniqueIdentifier")]
		public System.Nullable<System.Guid> Parent_ContentID
		{
			get
			{
				return this._Parent_ContentID;
			}
			set
			{
				if ((this._Parent_ContentID != value))
				{
					this.OnParent_ContentIDChanging(value);
					this.SendPropertyChanging();
					this._Parent_ContentID = value;
					this.SendPropertyChanged("Parent_ContentID");
					this.OnParent_ContentIDChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsLatestVersion", DbType="Bit NOT NULL")]
		public bool IsLatestVersion
		{
			get
			{
				return this._IsLatestVersion;
			}
			set
			{
				if ((this._IsLatestVersion != value))
				{
					this.OnIsLatestVersionChanging(value);
					this.SendPropertyChanging();
					this._IsLatestVersion = value;
					this.SendPropertyChanged("IsLatestVersion");
					this.OnIsLatestVersionChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TitleBar", DbType="NVarChar(256)")]
		public string TitleBar
		{
			get
			{
				return this._TitleBar;
			}
			set
			{
				if ((this._TitleBar != value))
				{
					this.OnTitleBarChanging(value);
					this.SendPropertyChanging();
					this._TitleBar = value;
					this.SendPropertyChanged("TitleBar");
					this.OnTitleBarChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NavMenuText", DbType="NVarChar(256)")]
		public string NavMenuText
		{
			get
			{
				return this._NavMenuText;
			}
			set
			{
				if ((this._NavMenuText != value))
				{
					this.OnNavMenuTextChanging(value);
					this.SendPropertyChanging();
					this._NavMenuText = value;
					this.SendPropertyChanged("NavMenuText");
					this.OnNavMenuTextChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageHead", DbType="NVarChar(256)")]
		public string PageHead
		{
			get
			{
				return this._PageHead;
			}
			set
			{
				if ((this._PageHead != value))
				{
					this.OnPageHeadChanging(value);
					this.SendPropertyChanging();
					this._PageHead = value;
					this.SendPropertyChanged("PageHead");
					this.OnPageHeadChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageText", DbType="NVarChar(MAX)")]
		public string PageText
		{
			get
			{
				return this._PageText;
			}
			set
			{
				if ((this._PageText != value))
				{
					this.OnPageTextChanging(value);
					this.SendPropertyChanging();
					this._PageText = value;
					this.SendPropertyChanged("PageText");
					this.OnPageTextChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LeftPageText", DbType="NVarChar(MAX)")]
		public string LeftPageText
		{
			get
			{
				return this._LeftPageText;
			}
			set
			{
				if ((this._LeftPageText != value))
				{
					this.OnLeftPageTextChanging(value);
					this.SendPropertyChanging();
					this._LeftPageText = value;
					this.SendPropertyChanged("LeftPageText");
					this.OnLeftPageTextChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RightPageText", DbType="NVarChar(MAX)")]
		public string RightPageText
		{
			get
			{
				return this._RightPageText;
			}
			set
			{
				if ((this._RightPageText != value))
				{
					this.OnRightPageTextChanging(value);
					this.SendPropertyChanging();
					this._RightPageText = value;
					this.SendPropertyChanged("RightPageText");
					this.OnRightPageTextChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NavOrder", DbType="Int NOT NULL")]
		public int NavOrder
		{
			get
			{
				return this._NavOrder;
			}
			set
			{
				if ((this._NavOrder != value))
				{
					this.OnNavOrderChanging(value);
					this.SendPropertyChanging();
					this._NavOrder = value;
					this.SendPropertyChanged("NavOrder");
					this.OnNavOrderChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditUserId", DbType="UniqueIdentifier")]
		public System.Nullable<System.Guid> EditUserId
		{
			get
			{
				return this._EditUserId;
			}
			set
			{
				if ((this._EditUserId != value))
				{
					if (this._aspnet_User1.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnEditUserIdChanging(value);
					this.SendPropertyChanging();
					this._EditUserId = value;
					this.SendPropertyChanged("EditUserId");
					this.OnEditUserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditDate", DbType="DateTime NOT NULL")]
		public System.DateTime EditDate
		{
			get
			{
				return this._EditDate;
			}
			set
			{
				if ((this._EditDate != value))
				{
					this.OnEditDateChanging(value);
					this.SendPropertyChanging();
					this._EditDate = value;
					this.SendPropertyChanged("EditDate");
					this.OnEditDateChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TemplateFile", DbType="NVarChar(256)")]
		public string TemplateFile
		{
			get
			{
				return this._TemplateFile;
			}
			set
			{
				if ((this._TemplateFile != value))
				{
					this.OnTemplateFileChanging(value);
					this.SendPropertyChanging();
					this._TemplateFile = value;
					this.SendPropertyChanged("TemplateFile");
					this.OnTemplateFileChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MetaKeyword", DbType="NVarChar(1024)")]
		public string MetaKeyword
		{
			get
			{
				return this._MetaKeyword;
			}
			set
			{
				if ((this._MetaKeyword != value))
				{
					this.OnMetaKeywordChanging(value);
					this.SendPropertyChanging();
					this._MetaKeyword = value;
					this.SendPropertyChanged("MetaKeyword");
					this.OnMetaKeywordChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MetaDescription", DbType="NVarChar(1024)")]
		public string MetaDescription
		{
			get
			{
				return this._MetaDescription;
			}
			set
			{
				if ((this._MetaDescription != value))
				{
					this.OnMetaDescriptionChanging(value);
					this.SendPropertyChanging();
					this._MetaDescription = value;
					this.SendPropertyChanged("MetaDescription");
					this.OnMetaDescriptionChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreditUserId", DbType="UniqueIdentifier")]
		public System.Nullable<System.Guid> CreditUserId
		{
			get
			{
				return this._CreditUserId;
			}
			set
			{
				if ((this._CreditUserId != value))
				{
					if (this._aspnet_User.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnCreditUserIdChanging(value);
					this.SendPropertyChanging();
					this._CreditUserId = value;
					this.SendPropertyChanged("CreditUserId");
					this.OnCreditUserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="aspnet_User_carrot_Content", Storage="_aspnet_User", ThisKey="CreditUserId", OtherKey="UserId", IsForeignKey=true)]
		public aspnet_User aspnet_User
		{
			get
			{
				return this._aspnet_User.Entity;
			}
			set
			{
				aspnet_User previousValue = this._aspnet_User.Entity;
				if (((previousValue != value) 
							|| (this._aspnet_User.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._aspnet_User.Entity = null;
						previousValue.carrot_Contents.Remove(this);
					}
					this._aspnet_User.Entity = value;
					if ((value != null))
					{
						value.carrot_Contents.Add(this);
						this._CreditUserId = value.UserId;
					}
					else
					{
						this._CreditUserId = default(Nullable<System.Guid>);
					}
					this.SendPropertyChanged("aspnet_User");
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="aspnet_User_carrot_Content1", Storage="_aspnet_User1", ThisKey="EditUserId", OtherKey="UserId", IsForeignKey=true)]
		public aspnet_User aspnet_User1
		{
			get
			{
				return this._aspnet_User1.Entity;
			}
			set
			{
				aspnet_User previousValue = this._aspnet_User1.Entity;
				if (((previousValue != value) 
							|| (this._aspnet_User1.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._aspnet_User1.Entity = null;
						previousValue.carrot_Contents1.Remove(this);
					}
					this._aspnet_User1.Entity = value;
					if ((value != null))
					{
						value.carrot_Contents1.Add(this);
						this._EditUserId = value.UserId;
					}
					else
					{
						this._EditUserId = default(Nullable<System.Guid>);
					}
					this.SendPropertyChanged("aspnet_User1");
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="carrot_RootContent_carrot_Content", Storage="_carrot_RootContent", ThisKey="Root_ContentID", OtherKey="Root_ContentID", IsForeignKey=true)]
		public carrot_RootContent carrot_RootContent
		{
			get
			{
				return this._carrot_RootContent.Entity;
			}
			set
			{
				carrot_RootContent previousValue = this._carrot_RootContent.Entity;
				if (((previousValue != value) 
							|| (this._carrot_RootContent.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._carrot_RootContent.Entity = null;
						previousValue.carrot_Contents.Remove(this);
					}
					this._carrot_RootContent.Entity = value;
					if ((value != null))
					{
						value.carrot_Contents.Add(this);
						this._Root_ContentID = value.Root_ContentID;
					}
					else
					{
						this._Root_ContentID = default(System.Guid);
					}
					this.SendPropertyChanged("carrot_RootContent");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.vw_carrot_EditHistory")]
	public partial class vw_carrot_EditHistory
	{
		
		private System.Guid _SiteID;
		
		private System.Guid _ContentID;
		
		private System.Guid _Root_ContentID;
		
		private bool _IsLatestVersion;
		
		private string _TitleBar;
		
		private string _NavMenuText;
		
		private string _PageHead;
		
		private System.Nullable<System.Guid> _EditUserId;
		
		private System.Nullable<System.Guid> _CreditUserId;
		
		private System.DateTime _EditDate;
		
		private System.DateTime _CreateDate;
		
		private string _FileName;
		
		private System.Guid _ContentTypeID;
		
		private string _ContentTypeValue;
		
		private bool _PageActive;
		
		private System.DateTime _GoLiveDate;
		
		private System.DateTime _RetireDate;
		
		private string _EditUserName;
		
		private string _EditEmail;
		
		private bool _IsLockedOut;
		
		private System.DateTime _UserCreateDate;
		
		private System.DateTime _LastLoginDate;
		
		private System.DateTime _LastPasswordChangedDate;
		
		private System.DateTime _LastLockoutDate;
		
		private System.Guid _CreateUserId;
		
		private string _CreateUserName;
		
		private string _CreateEmail;
		
		public vw_carrot_EditHistory()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					this._SiteID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ContentID
		{
			get
			{
				return this._ContentID;
			}
			set
			{
				if ((this._ContentID != value))
				{
					this._ContentID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_ContentID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Root_ContentID
		{
			get
			{
				return this._Root_ContentID;
			}
			set
			{
				if ((this._Root_ContentID != value))
				{
					this._Root_ContentID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsLatestVersion", DbType="Bit NOT NULL")]
		public bool IsLatestVersion
		{
			get
			{
				return this._IsLatestVersion;
			}
			set
			{
				if ((this._IsLatestVersion != value))
				{
					this._IsLatestVersion = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TitleBar", DbType="NVarChar(256)")]
		public string TitleBar
		{
			get
			{
				return this._TitleBar;
			}
			set
			{
				if ((this._TitleBar != value))
				{
					this._TitleBar = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NavMenuText", DbType="NVarChar(256)")]
		public string NavMenuText
		{
			get
			{
				return this._NavMenuText;
			}
			set
			{
				if ((this._NavMenuText != value))
				{
					this._NavMenuText = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageHead", DbType="NVarChar(256)")]
		public string PageHead
		{
			get
			{
				return this._PageHead;
			}
			set
			{
				if ((this._PageHead != value))
				{
					this._PageHead = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditUserId", DbType="UniqueIdentifier")]
		public System.Nullable<System.Guid> EditUserId
		{
			get
			{
				return this._EditUserId;
			}
			set
			{
				if ((this._EditUserId != value))
				{
					this._EditUserId = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreditUserId", DbType="UniqueIdentifier")]
		public System.Nullable<System.Guid> CreditUserId
		{
			get
			{
				return this._CreditUserId;
			}
			set
			{
				if ((this._CreditUserId != value))
				{
					this._CreditUserId = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditDate", DbType="DateTime NOT NULL")]
		public System.DateTime EditDate
		{
			get
			{
				return this._EditDate;
			}
			set
			{
				if ((this._EditDate != value))
				{
					this._EditDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDate", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDate
		{
			get
			{
				return this._CreateDate;
			}
			set
			{
				if ((this._CreateDate != value))
				{
					this._CreateDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FileName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string FileName
		{
			get
			{
				return this._FileName;
			}
			set
			{
				if ((this._FileName != value))
				{
					this._FileName = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentTypeID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ContentTypeID
		{
			get
			{
				return this._ContentTypeID;
			}
			set
			{
				if ((this._ContentTypeID != value))
				{
					this._ContentTypeID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentTypeValue", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string ContentTypeValue
		{
			get
			{
				return this._ContentTypeValue;
			}
			set
			{
				if ((this._ContentTypeValue != value))
				{
					this._ContentTypeValue = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageActive", DbType="Bit NOT NULL")]
		public bool PageActive
		{
			get
			{
				return this._PageActive;
			}
			set
			{
				if ((this._PageActive != value))
				{
					this._PageActive = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GoLiveDate", DbType="DateTime NOT NULL")]
		public System.DateTime GoLiveDate
		{
			get
			{
				return this._GoLiveDate;
			}
			set
			{
				if ((this._GoLiveDate != value))
				{
					this._GoLiveDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RetireDate", DbType="DateTime NOT NULL")]
		public System.DateTime RetireDate
		{
			get
			{
				return this._RetireDate;
			}
			set
			{
				if ((this._RetireDate != value))
				{
					this._RetireDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditUserName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string EditUserName
		{
			get
			{
				return this._EditUserName;
			}
			set
			{
				if ((this._EditUserName != value))
				{
					this._EditUserName = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditEmail", DbType="NVarChar(256)")]
		public string EditEmail
		{
			get
			{
				return this._EditEmail;
			}
			set
			{
				if ((this._EditEmail != value))
				{
					this._EditEmail = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsLockedOut", DbType="Bit NOT NULL")]
		public bool IsLockedOut
		{
			get
			{
				return this._IsLockedOut;
			}
			set
			{
				if ((this._IsLockedOut != value))
				{
					this._IsLockedOut = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserCreateDate", DbType="DateTime NOT NULL")]
		public System.DateTime UserCreateDate
		{
			get
			{
				return this._UserCreateDate;
			}
			set
			{
				if ((this._UserCreateDate != value))
				{
					this._UserCreateDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastLoginDate", DbType="DateTime NOT NULL")]
		public System.DateTime LastLoginDate
		{
			get
			{
				return this._LastLoginDate;
			}
			set
			{
				if ((this._LastLoginDate != value))
				{
					this._LastLoginDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastPasswordChangedDate", DbType="DateTime NOT NULL")]
		public System.DateTime LastPasswordChangedDate
		{
			get
			{
				return this._LastPasswordChangedDate;
			}
			set
			{
				if ((this._LastPasswordChangedDate != value))
				{
					this._LastPasswordChangedDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LastLockoutDate", DbType="DateTime NOT NULL")]
		public System.DateTime LastLockoutDate
		{
			get
			{
				return this._LastLockoutDate;
			}
			set
			{
				if ((this._LastLockoutDate != value))
				{
					this._LastLockoutDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateUserId", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid CreateUserId
		{
			get
			{
				return this._CreateUserId;
			}
			set
			{
				if ((this._CreateUserId != value))
				{
					this._CreateUserId = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateUserName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string CreateUserName
		{
			get
			{
				return this._CreateUserName;
			}
			set
			{
				if ((this._CreateUserName != value))
				{
					this._CreateUserName = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateEmail", DbType="NVarChar(256)")]
		public string CreateEmail
		{
			get
			{
				return this._CreateEmail;
			}
			set
			{
				if ((this._CreateEmail != value))
				{
					this._CreateEmail = value;
				}
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.vw_carrot_Content")]
	public partial class vw_carrot_Content
	{
		
		private System.Guid _Root_ContentID;
		
		private System.Guid _SiteID;
		
		private System.Nullable<System.Guid> _Heartbeat_UserId;
		
		private System.Nullable<System.DateTime> _EditHeartbeat;
		
		private string _FileName;
		
		private bool _PageActive;
		
		private bool _ShowInSiteNav;
		
		private bool _ShowInSiteMap;
		
		private bool _BlockIndex;
		
		private System.Guid _CreateUserId;
		
		private System.DateTime _CreateDate;
		
		private System.Guid _ContentID;
		
		private System.Nullable<System.Guid> _Parent_ContentID;
		
		private bool _IsLatestVersion;
		
		private string _TitleBar;
		
		private string _NavMenuText;
		
		private string _PageHead;
		
		private string _PageText;
		
		private string _LeftPageText;
		
		private string _RightPageText;
		
		private int _NavOrder;
		
		private System.Nullable<System.Guid> _EditUserId;
		
		private System.Nullable<System.Guid> _CreditUserId;
		
		private System.DateTime _EditDate;
		
		private string _TemplateFile;
		
		private string _MetaKeyword;
		
		private string _MetaDescription;
		
		private System.Nullable<int> _VersionCount;
		
		private System.Guid _ContentTypeID;
		
		private string _ContentTypeValue;
		
		private string _PageSlug;
		
		private string _PageThumbnail;
		
		private string _TimeZone;
		
		private System.DateTime _RetireDate;
		
		private System.DateTime _GoLiveDate;
		
		private System.DateTime _GoLiveDateLocal;
		
		private System.Nullable<bool> _IsRetired;
		
		private System.Nullable<bool> _IsUnReleased;
		
		public vw_carrot_Content()
		{
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Root_ContentID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid Root_ContentID
		{
			get
			{
				return this._Root_ContentID;
			}
			set
			{
				if ((this._Root_ContentID != value))
				{
					this._Root_ContentID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid SiteID
		{
			get
			{
				return this._SiteID;
			}
			set
			{
				if ((this._SiteID != value))
				{
					this._SiteID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Heartbeat_UserId", DbType="UniqueIdentifier")]
		public System.Nullable<System.Guid> Heartbeat_UserId
		{
			get
			{
				return this._Heartbeat_UserId;
			}
			set
			{
				if ((this._Heartbeat_UserId != value))
				{
					this._Heartbeat_UserId = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditHeartbeat", DbType="DateTime")]
		public System.Nullable<System.DateTime> EditHeartbeat
		{
			get
			{
				return this._EditHeartbeat;
			}
			set
			{
				if ((this._EditHeartbeat != value))
				{
					this._EditHeartbeat = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_FileName", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string FileName
		{
			get
			{
				return this._FileName;
			}
			set
			{
				if ((this._FileName != value))
				{
					this._FileName = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageActive", DbType="Bit NOT NULL")]
		public bool PageActive
		{
			get
			{
				return this._PageActive;
			}
			set
			{
				if ((this._PageActive != value))
				{
					this._PageActive = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ShowInSiteNav", DbType="Bit NOT NULL")]
		public bool ShowInSiteNav
		{
			get
			{
				return this._ShowInSiteNav;
			}
			set
			{
				if ((this._ShowInSiteNav != value))
				{
					this._ShowInSiteNav = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ShowInSiteMap", DbType="Bit NOT NULL")]
		public bool ShowInSiteMap
		{
			get
			{
				return this._ShowInSiteMap;
			}
			set
			{
				if ((this._ShowInSiteMap != value))
				{
					this._ShowInSiteMap = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BlockIndex", DbType="Bit NOT NULL")]
		public bool BlockIndex
		{
			get
			{
				return this._BlockIndex;
			}
			set
			{
				if ((this._BlockIndex != value))
				{
					this._BlockIndex = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateUserId", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid CreateUserId
		{
			get
			{
				return this._CreateUserId;
			}
			set
			{
				if ((this._CreateUserId != value))
				{
					this._CreateUserId = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDate", DbType="DateTime NOT NULL")]
		public System.DateTime CreateDate
		{
			get
			{
				return this._CreateDate;
			}
			set
			{
				if ((this._CreateDate != value))
				{
					this._CreateDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ContentID
		{
			get
			{
				return this._ContentID;
			}
			set
			{
				if ((this._ContentID != value))
				{
					this._ContentID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Parent_ContentID", DbType="UniqueIdentifier")]
		public System.Nullable<System.Guid> Parent_ContentID
		{
			get
			{
				return this._Parent_ContentID;
			}
			set
			{
				if ((this._Parent_ContentID != value))
				{
					this._Parent_ContentID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsLatestVersion", DbType="Bit NOT NULL")]
		public bool IsLatestVersion
		{
			get
			{
				return this._IsLatestVersion;
			}
			set
			{
				if ((this._IsLatestVersion != value))
				{
					this._IsLatestVersion = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TitleBar", DbType="NVarChar(256)")]
		public string TitleBar
		{
			get
			{
				return this._TitleBar;
			}
			set
			{
				if ((this._TitleBar != value))
				{
					this._TitleBar = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NavMenuText", DbType="NVarChar(256)")]
		public string NavMenuText
		{
			get
			{
				return this._NavMenuText;
			}
			set
			{
				if ((this._NavMenuText != value))
				{
					this._NavMenuText = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageHead", DbType="NVarChar(256)")]
		public string PageHead
		{
			get
			{
				return this._PageHead;
			}
			set
			{
				if ((this._PageHead != value))
				{
					this._PageHead = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageText", DbType="NVarChar(MAX)")]
		public string PageText
		{
			get
			{
				return this._PageText;
			}
			set
			{
				if ((this._PageText != value))
				{
					this._PageText = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LeftPageText", DbType="NVarChar(MAX)")]
		public string LeftPageText
		{
			get
			{
				return this._LeftPageText;
			}
			set
			{
				if ((this._LeftPageText != value))
				{
					this._LeftPageText = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RightPageText", DbType="NVarChar(MAX)")]
		public string RightPageText
		{
			get
			{
				return this._RightPageText;
			}
			set
			{
				if ((this._RightPageText != value))
				{
					this._RightPageText = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NavOrder", DbType="Int NOT NULL")]
		public int NavOrder
		{
			get
			{
				return this._NavOrder;
			}
			set
			{
				if ((this._NavOrder != value))
				{
					this._NavOrder = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditUserId", DbType="UniqueIdentifier")]
		public System.Nullable<System.Guid> EditUserId
		{
			get
			{
				return this._EditUserId;
			}
			set
			{
				if ((this._EditUserId != value))
				{
					this._EditUserId = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreditUserId", DbType="UniqueIdentifier")]
		public System.Nullable<System.Guid> CreditUserId
		{
			get
			{
				return this._CreditUserId;
			}
			set
			{
				if ((this._CreditUserId != value))
				{
					this._CreditUserId = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EditDate", DbType="DateTime NOT NULL")]
		public System.DateTime EditDate
		{
			get
			{
				return this._EditDate;
			}
			set
			{
				if ((this._EditDate != value))
				{
					this._EditDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TemplateFile", DbType="NVarChar(256)")]
		public string TemplateFile
		{
			get
			{
				return this._TemplateFile;
			}
			set
			{
				if ((this._TemplateFile != value))
				{
					this._TemplateFile = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MetaKeyword", DbType="NVarChar(1024)")]
		public string MetaKeyword
		{
			get
			{
				return this._MetaKeyword;
			}
			set
			{
				if ((this._MetaKeyword != value))
				{
					this._MetaKeyword = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MetaDescription", DbType="NVarChar(1024)")]
		public string MetaDescription
		{
			get
			{
				return this._MetaDescription;
			}
			set
			{
				if ((this._MetaDescription != value))
				{
					this._MetaDescription = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_VersionCount", DbType="Int")]
		public System.Nullable<int> VersionCount
		{
			get
			{
				return this._VersionCount;
			}
			set
			{
				if ((this._VersionCount != value))
				{
					this._VersionCount = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentTypeID", DbType="UniqueIdentifier NOT NULL")]
		public System.Guid ContentTypeID
		{
			get
			{
				return this._ContentTypeID;
			}
			set
			{
				if ((this._ContentTypeID != value))
				{
					this._ContentTypeID = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContentTypeValue", DbType="NVarChar(256) NOT NULL", CanBeNull=false)]
		public string ContentTypeValue
		{
			get
			{
				return this._ContentTypeValue;
			}
			set
			{
				if ((this._ContentTypeValue != value))
				{
					this._ContentTypeValue = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageSlug", DbType="NVarChar(256)")]
		public string PageSlug
		{
			get
			{
				return this._PageSlug;
			}
			set
			{
				if ((this._PageSlug != value))
				{
					this._PageSlug = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PageThumbnail", DbType="NVarChar(128)")]
		public string PageThumbnail
		{
			get
			{
				return this._PageThumbnail;
			}
			set
			{
				if ((this._PageThumbnail != value))
				{
					this._PageThumbnail = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TimeZone", DbType="NVarChar(128)")]
		public string TimeZone
		{
			get
			{
				return this._TimeZone;
			}
			set
			{
				if ((this._TimeZone != value))
				{
					this._TimeZone = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RetireDate", DbType="DateTime NOT NULL")]
		public System.DateTime RetireDate
		{
			get
			{
				return this._RetireDate;
			}
			set
			{
				if ((this._RetireDate != value))
				{
					this._RetireDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GoLiveDate", DbType="DateTime NOT NULL")]
		public System.DateTime GoLiveDate
		{
			get
			{
				return this._GoLiveDate;
			}
			set
			{
				if ((this._GoLiveDate != value))
				{
					this._GoLiveDate = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GoLiveDateLocal", DbType="DateTime NOT NULL")]
		public System.DateTime GoLiveDateLocal
		{
			get
			{
				return this._GoLiveDateLocal;
			}
			set
			{
				if ((this._GoLiveDateLocal != value))
				{
					this._GoLiveDateLocal = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsRetired", DbType="Bit")]
		public System.Nullable<bool> IsRetired
		{
			get
			{
				return this._IsRetired;
			}
			set
			{
				if ((this._IsRetired != value))
				{
					this._IsRetired = value;
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsUnReleased", DbType="Bit")]
		public System.Nullable<bool> IsUnReleased
		{
			get
			{
				return this._IsUnReleased;
			}
			set
			{
				if ((this._IsUnReleased != value))
				{
					this._IsUnReleased = value;
				}
			}
		}
	}
	
	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.aspnet_UsersInRoles")]
	public partial class aspnet_UsersInRole : INotifyPropertyChanging, INotifyPropertyChanged
	{
		
		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
		
		private System.Guid _UserId;
		
		private System.Guid _RoleId;
		
		private EntityRef<aspnet_Role> _aspnet_Role;
		
		private EntityRef<aspnet_User> _aspnet_User;
		
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnUserIdChanging(System.Guid value);
    partial void OnUserIdChanged();
    partial void OnRoleIdChanging(System.Guid value);
    partial void OnRoleIdChanged();
    #endregion
		
		public aspnet_UsersInRole()
		{
			this._aspnet_Role = default(EntityRef<aspnet_Role>);
			this._aspnet_User = default(EntityRef<aspnet_User>);
			OnCreated();
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UserId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid UserId
		{
			get
			{
				return this._UserId;
			}
			set
			{
				if ((this._UserId != value))
				{
					if (this._aspnet_User.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnUserIdChanging(value);
					this.SendPropertyChanging();
					this._UserId = value;
					this.SendPropertyChanged("UserId");
					this.OnUserIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RoleId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
		public System.Guid RoleId
		{
			get
			{
				return this._RoleId;
			}
			set
			{
				if ((this._RoleId != value))
				{
					if (this._aspnet_Role.HasLoadedOrAssignedValue)
					{
						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
					}
					this.OnRoleIdChanging(value);
					this.SendPropertyChanging();
					this._RoleId = value;
					this.SendPropertyChanged("RoleId");
					this.OnRoleIdChanged();
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="aspnet_Role_aspnet_UsersInRole", Storage="_aspnet_Role", ThisKey="RoleId", OtherKey="RoleId", IsForeignKey=true)]
		public aspnet_Role aspnet_Role
		{
			get
			{
				return this._aspnet_Role.Entity;
			}
			set
			{
				aspnet_Role previousValue = this._aspnet_Role.Entity;
				if (((previousValue != value) 
							|| (this._aspnet_Role.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._aspnet_Role.Entity = null;
						previousValue.aspnet_UsersInRoles.Remove(this);
					}
					this._aspnet_Role.Entity = value;
					if ((value != null))
					{
						value.aspnet_UsersInRoles.Add(this);
						this._RoleId = value.RoleId;
					}
					else
					{
						this._RoleId = default(System.Guid);
					}
					this.SendPropertyChanged("aspnet_Role");
				}
			}
		}
		
		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="aspnet_User_aspnet_UsersInRole", Storage="_aspnet_User", ThisKey="UserId", OtherKey="UserId", IsForeignKey=true)]
		public aspnet_User aspnet_User
		{
			get
			{
				return this._aspnet_User.Entity;
			}
			set
			{
				aspnet_User previousValue = this._aspnet_User.Entity;
				if (((previousValue != value) 
							|| (this._aspnet_User.HasLoadedOrAssignedValue == false)))
				{
					this.SendPropertyChanging();
					if ((previousValue != null))
					{
						this._aspnet_User.Entity = null;
						previousValue.aspnet_UsersInRoles.Remove(this);
					}
					this._aspnet_User.Entity = value;
					if ((value != null))
					{
						value.aspnet_UsersInRoles.Add(this);
						this._UserId = value.UserId;
					}
					else
					{
						this._UserId = default(System.Guid);
					}
					this.SendPropertyChanged("aspnet_User");
				}
			}
		}
		
		public event PropertyChangingEventHandler PropertyChanging;
		
		public event PropertyChangedEventHandler PropertyChanged;
		
		protected virtual void SendPropertyChanging()
		{
			if ((this.PropertyChanging != null))
			{
				this.PropertyChanging(this, emptyChangingEventArgs);
			}
		}
		
		protected virtual void SendPropertyChanged(String propertyName)
		{
			if ((this.PropertyChanged != null))
			{
				this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}
	}
}
#pragma warning restore 1591
