context: using System; 
  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 CmsData.Infrastructure;
  
  namespace CmsData
  {
  	[Table(Name="dbo.MeetingExtra")]
  	public partial class MeetingExtra : INotifyPropertyChanging, INotifyPropertyChanged
  	{
  		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
  		
  	#region Private Fields
  		
  		private int _MeetingId;
  		
  		private string _Field;
  		
  		private string _Data;
  		
  		private string _DataType;
  		
  		private string _StrValue;
  		
  		private DateTime? _DateValue;
  		
  		private int? _IntValue;
  		
  		private bool? _BitValue;
  		
  		private string _Type;
  		
  		private DateTime? _TransactionTime;
  		
     		
      	
  		private EntityRef< Meeting> _Meeting;
  		
  	#endregion
  	
      #region Extensibility Method Definitions
      partial void OnLoaded();
      partial void OnValidate(System.Data.Linq.ChangeAction action);
      partial void OnCreated();
  		
  		partial void OnMeetingIdChanging(int value);
  		partial void OnMeetingIdChanged();
  		
  		partial void OnFieldChanging(string value);
  		partial void OnFieldChanged();
  		
  		partial void OnDataChanging(string value);
  		partial void OnDataChanged();
  		
  		partial void OnDataTypeChanging(string value);
  		partial void OnDataTypeChanged();
  		
  		partial void OnStrValueChanging(string value);
  		partial void OnStrValueChanged();
  		
  		partial void OnDateValueChanging(DateTime? value);
  		partial void OnDateValueChanged();
  		
  		partial void OnIntValueChanging(int? value);
  		partial void OnIntValueChanged();
  		
  		partial void OnBitValueChanging(bool? value);
  		partial void OnBitValueChanged();
  		
  		partial void OnTypeChanging(string value);
  		partial void OnTypeChanged();
  		
  		partial void OnTransactionTimeChanging(DateTime? value);
  		partial void OnTransactionTimeChanged();
  		
      #endregion
  		public MeetingExtra()
  		{
  			
  			
  			this._Meeting = default(EntityRef< Meeting>); 
  			
  			OnCreated();
  		}
  
  		
      #region Columns
  		
  		[Column(Name="MeetingId", UpdateCheck=UpdateCheck.Never, Storage="_MeetingId", DbType="int NOT NULL", IsPrimaryKey=true)]
  		[IsForeignKey]
  		public int MeetingId
  		{
  			get { return this._MeetingId; }
  
  			set
  			{
  				if (this._MeetingId != value)
  				{
  				
  					if (this._Meeting.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnMeetingIdChanging(value);
  					this.SendPropertyChanging();
  					this._MeetingId = value;
  					this.SendPropertyChanged("MeetingId");
  					this.OnMeetingIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="Field", UpdateCheck=UpdateCheck.Never, Storage="_Field", DbType="nvarchar(50) NOT NULL", IsPrimaryKey=true)]
  		public string Field
  		{
  			get { return this._Field; }
  
  			set
  			{
  				if (this._Field != value)
  				{
  				
                      this.OnFieldChanging(value);
  					this.SendPropertyChanging();
  					this._Field = value;
  					this.SendPropertyChanged("Field");
  					this.OnFieldChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="Data", UpdateCheck=UpdateCheck.Never, Storage="_Data", DbType="nvarchar")]
  		public string Data
  		{
  			get { return this._Data; }
  
  			set
  			{
  				if (this._Data != value)
  				{
  				
                      this.OnDataChanging(value);
  					this.SendPropertyChanging();
  					this._Data = value;
  					this.SendPropertyChanged("Data");
  					this.OnDataChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="DataType", UpdateCheck=UpdateCheck.Never, Storage="_DataType", DbType="nvarchar(5)")]
  		public string DataType
  		{
  			get { return this._DataType; }
  
  			set
  			{
  				if (this._DataType != value)
  				{
  				
                      this.OnDataTypeChanging(value);
  					this.SendPropertyChanging();
  					this._DataType = value;
  					this.SendPropertyChanged("DataType");
  					this.OnDataTypeChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="StrValue", UpdateCheck=UpdateCheck.Never, Storage="_StrValue", DbType="nvarchar(200)")]
  		public string StrValue
  		{
  			get { return this._StrValue; }
  
  			set
  			{
  				if (this._StrValue != value)
  				{
  				
                      this.OnStrValueChanging(value);
  					this.SendPropertyChanging();
  					this._StrValue = value;
  					this.SendPropertyChanged("StrValue");
  					this.OnStrValueChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="DateValue", UpdateCheck=UpdateCheck.Never, Storage="_DateValue", DbType="datetime")]
  		public DateTime? DateValue
  		{
  			get { return this._DateValue; }
  
  			set
  			{
  				if (this._DateValue != value)
  				{
  				
                      this.OnDateValueChanging(value);
  					this.SendPropertyChanging();
  					this._DateValue = value;
  					this.SendPropertyChanged("DateValue");
  					this.OnDateValueChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="IntValue", UpdateCheck=UpdateCheck.Never, Storage="_IntValue", DbType="int")]
  		public int? IntValue
  		{
  			get { return this._IntValue; }
  
  			set
  			{
  				if (this._IntValue != value)
  				{
  				
                      this.OnIntValueChanging(value);
  					this.SendPropertyChanging();
  					this._IntValue = value;
  					this.SendPropertyChanged("IntValue");
  					this.OnIntValueChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="BitValue", UpdateCheck=UpdateCheck.Never, Storage="_BitValue", DbType="bit")]
  		public bool? BitValue
  		{
  
gt: 			get { return this._BitValue; }