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.People")]
  	public partial class Person : INotifyPropertyChanging, INotifyPropertyChanged
  	{
  		private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
  		
  	#region Private Fields
  		
  		private int _PeopleId;
  		
  		private int _CreatedBy;
  		
  		private DateTime? _CreatedDate;
  		
  		private int _DropCodeId;
  		
  		private int _GenderId;
  		
  		private bool _DoNotMailFlag;
  		
  		private bool _DoNotCallFlag;
  		
  		private bool _DoNotVisitFlag;
  		
  		private int _AddressTypeId;
  		
  		private int _PhonePrefId;
  		
  		private int _MaritalStatusId;
  		
  		private int _PositionInFamilyId;
  		
  		private int _MemberStatusId;
  		
  		private int _FamilyId;
  		
  		private int? _BirthMonth;
  		
  		private int? _BirthDay;
  		
  		private int? _BirthYear;
  		
  		private int? _OriginId;
  		
  		private int? _EntryPointId;
  		
  		private int? _InterestPointId;
  		
  		private int? _BaptismTypeId;
  		
  		private int? _BaptismStatusId;
  		
  		private int? _DecisionTypeId;
  		
  		private int? _NewMemberClassStatusId;
  		
  		private int? _LetterStatusId;
  		
  		private int _JoinCodeId;
  		
  		private int? _EnvelopeOptionsId;
  		
  		private bool? _BadAddressFlag;
  		
  		private int? _ResCodeId;
  		
  		private DateTime? _AddressFromDate;
  		
  		private DateTime? _AddressToDate;
  		
  		private DateTime? _WeddingDate;
  		
  		private DateTime? _OriginDate;
  		
  		private DateTime? _BaptismSchedDate;
  		
  		private DateTime? _BaptismDate;
  		
  		private DateTime? _DecisionDate;
  		
  		private DateTime? _LetterDateRequested;
  		
  		private DateTime? _LetterDateReceived;
  		
  		private DateTime? _JoinDate;
  		
  		private DateTime? _DropDate;
  		
  		private DateTime? _DeceasedDate;
  		
  		private string _TitleCode;
  		
  		private string _FirstName;
  		
  		private string _MiddleName;
  		
  		private string _MaidenName;
  		
  		private string _LastName;
  		
  		private string _SuffixCode;
  		
  		private string _NickName;
  		
  		private string _AddressLineOne;
  		
  		private string _AddressLineTwo;
  		
  		private string _CityName;
  		
  		private string _StateCode;
  		
  		private string _ZipCode;
  		
  		private string _CountryName;
  		
  		private string _StreetName;
  		
  		private string _CellPhone;
  		
  		private string _WorkPhone;
  		
  		private string _EmailAddress;
  		
  		private string _OtherPreviousChurch;
  		
  		private string _OtherNewChurch;
  		
  		private string _SchoolOther;
  		
  		private string _EmployerOther;
  		
  		private string _OccupationOther;
  		
  		private string _HobbyOther;
  		
  		private string _SkillOther;
  		
  		private string _InterestOther;
  		
  		private string _LetterStatusNotes;
  		
  		private string _Comments;
  		
  		private bool _ChristAsSavior;
  		
  		private bool? _MemberAnyChurch;
  		
  		private bool _InterestedInJoining;
  		
  		private bool _PleaseVisit;
  		
  		private bool _InfoBecomeAChristian;
  		
  		private bool _ContributionsStatement;
  		
  		private int? _ModifiedBy;
  		
  		private DateTime? _ModifiedDate;
  		
  		private int? _PictureId;
  		
  		private int? _ContributionOptionsId;
  		
  		private string _PrimaryCity;
  		
  		private string _PrimaryZip;
  		
  		private string _PrimaryAddress;
  		
  		private string _PrimaryState;
  		
  		private string _HomePhone;
  		
  		private int? _SpouseId;
  		
  		private string _PrimaryAddress2;
  		
  		private int? _PrimaryResCode;
  		
  		private int? _PrimaryBadAddrFlag;
  		
  		private DateTime? _LastContact;
  		
  		private int? _Grade;
  		
  		private string _CellPhoneLU;
  		
  		private string _WorkPhoneLU;
  		
  		private int? _BibleFellowshipClassId;
  		
  		private int? _CampusId;
  		
  		private string _CellPhoneAC;
  		
  		private string _CheckInNotes;
  		
  		private int? _Age;
  		
  		private string _AltName;
  		
  		private bool? _CustodyIssue;
  		
  		private bool? _OkTransport;
  		
  		private DateTime? _BDate;
  		
  		private bool? _HasDuplicates;
  		
  		private string _FirstName2;
  		
  		private string _EmailAddress2;
  		
  		private bool? _SendEmailAddress1;
  		
  		private bool? _SendEmailAddress2;
  		
  		private DateTime? _NewMemberClassDate;
  		
  		private string _PrimaryCountry;
  		
  		private bool _ReceiveSMS;
  		
  		private bool? _DoNotPublishPhones;
  		
  		private bool? _IsDeceased;
  		
  		private string _Ssn;
  		
  		private string _Dln;
  		
  		private int? _DLStateID;
  		
  		private int? _HashNum;
  		
  		private string _PreferredName;
  		
  		private string _Name2;
  		
  		private string _Name;
  		
  		private bool? _ElectronicStatement;
  		
     		
     		private EntitySet< Contactee> _contactsHad;
  		
     		private EntitySet< Contactor> _contactsMade;
  		
     		private EntitySet< EnrollmentTransaction> _EnrollmentTransactions;
  		
     		private EntitySet< Family> _FamiliesHeaded;
  		
     		private EntitySet< Family> _FamiliesHeaded2;
  		
     		private EntitySet< Attend> _Attends;
  		
     		private EntitySet< BackgroundCheck> _BackgroundChecks;
  		
     		private EntitySet< CardIdentifier> _CardIdentifiers;
  		
     		private EntitySet< CheckInTime> _CheckInTimes;
  		
     		private EntitySet< Contribution> _Contributions;
  		
     		private EntitySet< Coupon> _Coupons;
  		
     		private EntitySet< EmailOptOut> _EmailOptOuts;
  		
     		private EntitySet< EmailQueue> _EmailQueues;
  		
     		private EntitySet< EmailQueueTo> _EmailQueueTos;
  		
     		private EntitySet< EmailResponse> _EmailResponses;
  		
     		private EntitySet< GoerSupporter> _FK_Goers;
  		
     		private EntitySet< ManagedGiving> _ManagedGivings;
  		
     		private EntitySet< MemberDocForm> _MemberDocForms;
  		
     		private EntitySet< PaymentInfo> _PaymentInfos;
  		
     		private EntitySet< PeopleExtra> _PeopleExtras;
  		
     		private EntitySet< RecReg> _RecRegs;
  		
     		private EntitySet< RecurringAmount> _RecurringAmounts;
  		
     		private EntitySet< SMSItem> _SMSItems;
  		
     		private EntitySet< SMSList> _SMSLists;
  		
     		private EntitySet< GoerSupporter> _FK_Supporters;
  		
     		private EntitySet< TagShare> _TagShares;
  		
     		private EntitySet< TaskListOwner> _TaskListOwners;
  		
     		private EntitySet< Transaction> _Transactions;
  		
     		private EntitySet< TransactionPerson> _TransactionPeople;
  		
     		private EntitySet< User> _Users;
  		
     		private EntitySet< VolInterestInterestCode> _VolInterestInterestCodes;
  		
     		private EntitySet< Volunteer> _Volunteers;
  		
     		private EntitySet< VolunteerForm> _VolunteerForms;
  		
     		private EntitySet< VoluteerApprovalId> _VoluteerApprovalIds;
  		
     		private EntitySet< GoerSenderAmount> _GoerAmounts;
  		
     		private EntitySet< PeopleCanEmailFor> _OnBehalfOfPeople;
  		
     		private EntitySet< OrganizationMember> _OrganizationMembers;
  		
     		private EntitySet< BackgroundCheck> _People;
  		
     		private EntitySet< PeopleCanEmailFor> _PersonsCanEmail;
  		
     		private EntitySet< GoerSenderAmount> _SenderAmounts;
  		
     		private EntitySet< SubRequest> _SubRequests;
  		
     		private EntitySet< SubRequest> _SubResponses;
  		
     		private EntitySet< TagPerson> _Tags;
  		
     		private EntitySet< Tag> _TagsOwned;
  		
     		private EntitySet< Task> _Tasks;
  		
     		private EntitySet< Task> _TasksAboutPerson;
  		
     		private EntitySet< Task> _TasksCoOwned;
  		
     		private EntitySet< VolRequest> _VolRequests;
  		
     		private EntitySet< VolRequest> _VolResponses;
  		
      	
  		private EntityRef< Organization> _BFClass;
  		
  		private EntityRef< EnvelopeOption> _EnvelopeOption;
  		
  		private EntityRef< BaptismStatus> _BaptismStatus;
  		
  		private EntityRef< BaptismType> _BaptismType;
  		
  		private EntityRef< Campu> _Campu;
  		
  		private EntityRef< DecisionType> _DecisionType;
  		
  		private EntityRef< NewMemberClassStatus> _NewMemberClassStatus;
  		
  		private EntityRef< DropType> _DropType;
  		
  		private EntityRef< EntryPoint> _EntryPoint;
  		
  		private EntityRef< Family> _Family;
  		
  		private EntityRef< FamilyPosition> _FamilyPosition;
  		
  		private EntityRef< Gender> _Gender;
  		
  		private EntityRef< InterestPoint> _InterestPoint;
  		
  		private EntityRef< JoinType> _JoinType;
  		
  		private EntityRef< MaritalStatus> _MaritalStatus;
  		
  		private EntityRef< MemberLetterStatus> _MemberLetterStatus;
  		
  		private EntityRef< MemberStatus> _MemberStatus;
  		
  		private EntityRef< Origin> _Origin;
  		
  		private EntityRef< Picture> _Picture;
  		
  		private EntityRef< ResidentCode> _ResidentCode;
  		
  		private EntityRef< EnvelopeOption> _ContributionStatementOption;
  		
  	#endregion
  	
      #region Extensibility Method Definitions
      partial void OnLoaded();
      partial void OnValidate(System.Data.Linq.ChangeAction action);
      partial void OnCreated();
  		
  		partial void OnPeopleIdChanging(int value);
  		partial void OnPeopleIdChanged();
  		
  		partial void OnCreatedByChanging(int value);
  		partial void OnCreatedByChanged();
  		
  		partial void OnCreatedDateChanging(DateTime? value);
  		partial void OnCreatedDateChanged();
  		
  		partial void OnDropCodeIdChanging(int value);
  		partial void OnDropCodeIdChanged();
  		
  		partial void OnGenderIdChanging(int value);
  		partial void OnGenderIdChanged();
  		
  		partial void OnDoNotMailFlagChanging(bool value);
  		partial void OnDoNotMailFlagChanged();
  		
  		partial void OnDoNotCallFlagChanging(bool value);
  		partial void OnDoNotCallFlagChanged();
  		
  		partial void OnDoNotVisitFlagChanging(bool value);
  		partial void OnDoNotVisitFlagChanged();
  		
  		partial void OnAddressTypeIdChanging(int value);
  		partial void OnAddressTypeIdChanged();
  		
  		partial void OnPhonePrefIdChanging(int value);
  		partial void OnPhonePrefIdChanged();
  		
  		partial void OnMaritalStatusIdChanging(int value);
  		partial void OnMaritalStatusIdChanged();
  		
  		partial void OnPositionInFamilyIdChanging(int value);
  		partial void OnPositionInFamilyIdChanged();
  		
  		partial void OnMemberStatusIdChanging(int value);
  		partial void OnMemberStatusIdChanged();
  		
  		partial void OnFamilyIdChanging(int value);
  		partial void OnFamilyIdChanged();
  		
  		partial void OnBirthMonthChanging(int? value);
  		partial void OnBirthMonthChanged();
  		
  		partial void OnBirthDayChanging(int? value);
  		partial void OnBirthDayChanged();
  		
  		partial void OnBirthYearChanging(int? value);
  		partial void OnBirthYearChanged();
  		
  		partial void OnOriginIdChanging(int? value);
  		partial void OnOriginIdChanged();
  		
  		partial void OnEntryPointIdChanging(int? value);
  		partial void OnEntryPointIdChanged();
  		
  		partial void OnInterestPointIdChanging(int? value);
  		partial void OnInterestPointIdChanged();
  		
  		partial void OnBaptismTypeIdChanging(int? value);
  		partial void OnBaptismTypeIdChanged();
  		
  		partial void OnBaptismStatusIdChanging(int? value);
  		partial void OnBaptismStatusIdChanged();
  		
  		partial void OnDecisionTypeIdChanging(int? value);
  		partial void OnDecisionTypeIdChanged();
  		
  		partial void OnNewMemberClassStatusIdChanging(int? value);
  		partial void OnNewMemberClassStatusIdChanged();
  		
  		partial void OnLetterStatusIdChanging(int? value);
  		partial void OnLetterStatusIdChanged();
  		
  		partial void OnJoinCodeIdChanging(int value);
  		partial void OnJoinCodeIdChanged();
  		
  		partial void OnEnvelopeOptionsIdChanging(int? value);
  		partial void OnEnvelopeOptionsIdChanged();
  		
  		partial void OnBadAddressFlagChanging(bool? value);
  		partial void OnBadAddressFlagChanged();
  		
  		partial void OnResCodeIdChanging(int? value);
  		partial void OnResCodeIdChanged();
  		
  		partial void OnAddressFromDateChanging(DateTime? value);
  		partial void OnAddressFromDateChanged();
  		
  		partial void OnAddressToDateChanging(DateTime? value);
  		partial void OnAddressToDateChanged();
  		
  		partial void OnWeddingDateChanging(DateTime? value);
  		partial void OnWeddingDateChanged();
  		
  		partial void OnOriginDateChanging(DateTime? value);
  		partial void OnOriginDateChanged();
  		
  		partial void OnBaptismSchedDateChanging(DateTime? value);
  		partial void OnBaptismSchedDateChanged();
  		
  		partial void OnBaptismDateChanging(DateTime? value);
  		partial void OnBaptismDateChanged();
  		
  		partial void OnDecisionDateChanging(DateTime? value);
  		partial void OnDecisionDateChanged();
  		
  		partial void OnLetterDateRequestedChanging(DateTime? value);
  		partial void OnLetterDateRequestedChanged();
  		
  		partial void OnLetterDateReceivedChanging(DateTime? value);
  		partial void OnLetterDateReceivedChanged();
  		
  		partial void OnJoinDateChanging(DateTime? value);
  		partial void OnJoinDateChanged();
  		
  		partial void OnDropDateChanging(DateTime? value);
  		partial void OnDropDateChanged();
  		
  		partial void OnDeceasedDateChanging(DateTime? value);
  		partial void OnDeceasedDateChanged();
  		
  		partial void OnTitleCodeChanging(string value);
  		partial void OnTitleCodeChanged();
  		
  		partial void OnFirstNameChanging(string value);
  		partial void OnFirstNameChanged();
  		
  		partial void OnMiddleNameChanging(string value);
  		partial void OnMiddleNameChanged();
  		
  		partial void OnMaidenNameChanging(string value);
  		partial void OnMaidenNameChanged();
  		
  		partial void OnLastNameChanging(string value);
  		partial void OnLastNameChanged();
  		
  		partial void OnSuffixCodeChanging(string value);
  		partial void OnSuffixCodeChanged();
  		
  		partial void OnNickNameChanging(string value);
  		partial void OnNickNameChanged();
  		
  		partial void OnAddressLineOneChanging(string value);
  		partial void OnAddressLineOneChanged();
  		
  		partial void OnAddressLineTwoChanging(string value);
  		partial void OnAddressLineTwoChanged();
  		
  		partial void OnCityNameChanging(string value);
  		partial void OnCityNameChanged();
  		
  		partial void OnStateCodeChanging(string value);
  		partial void OnStateCodeChanged();
  		
  		partial void OnZipCodeChanging(string value);
  		partial void OnZipCodeChanged();
  		
  		partial void OnCountryNameChanging(string value);
  		partial void OnCountryNameChanged();
  		
  		partial void OnStreetNameChanging(string value);
  		partial void OnStreetNameChanged();
  		
  		partial void OnCellPhoneChanging(string value);
  		partial void OnCellPhoneChanged();
  		
  		partial void OnWorkPhoneChanging(string value);
  		partial void OnWorkPhoneChanged();
  		
  		partial void OnEmailAddressChanging(string value);
  		partial void OnEmailAddressChanged();
  		
  		partial void OnOtherPreviousChurchChanging(string value);
  		partial void OnOtherPreviousChurchChanged();
  		
  		partial void OnOtherNewChurchChanging(string value);
  		partial void OnOtherNewChurchChanged();
  		
  		partial void OnSchoolOtherChanging(string value);
  		partial void OnSchoolOtherChanged();
  		
  		partial void OnEmployerOtherChanging(string value);
  		partial void OnEmployerOtherChanged();
  		
  		partial void OnOccupationOtherChanging(string value);
  		partial void OnOccupationOtherChanged();
  		
  		partial void OnHobbyOtherChanging(string value);
  		partial void OnHobbyOtherChanged();
  		
  		partial void OnSkillOtherChanging(string value);
  		partial void OnSkillOtherChanged();
  		
  		partial void OnInterestOtherChanging(string value);
  		partial void OnInterestOtherChanged();
  		
  		partial void OnLetterStatusNotesChanging(string value);
  		partial void OnLetterStatusNotesChanged();
  		
  		partial void OnCommentsChanging(string value);
  		partial void OnCommentsChanged();
  		
  		partial void OnChristAsSaviorChanging(bool value);
  		partial void OnChristAsSaviorChanged();
  		
  		partial void OnMemberAnyChurchChanging(bool? value);
  		partial void OnMemberAnyChurchChanged();
  		
  		partial void OnInterestedInJoiningChanging(bool value);
  		partial void OnInterestedInJoiningChanged();
  		
  		partial void OnPleaseVisitChanging(bool value);
  		partial void OnPleaseVisitChanged();
  		
  		partial void OnInfoBecomeAChristianChanging(bool value);
  		partial void OnInfoBecomeAChristianChanged();
  		
  		partial void OnContributionsStatementChanging(bool value);
  		partial void OnContributionsStatementChanged();
  		
  		partial void OnModifiedByChanging(int? value);
  		partial void OnModifiedByChanged();
  		
  		partial void OnModifiedDateChanging(DateTime? value);
  		partial void OnModifiedDateChanged();
  		
  		partial void OnPictureIdChanging(int? value);
  		partial void OnPictureIdChanged();
  		
  		partial void OnContributionOptionsIdChanging(int? value);
  		partial void OnContributionOptionsIdChanged();
  		
  		partial void OnPrimaryCityChanging(string value);
  		partial void OnPrimaryCityChanged();
  		
  		partial void OnPrimaryZipChanging(string value);
  		partial void OnPrimaryZipChanged();
  		
  		partial void OnPrimaryAddressChanging(string value);
  		partial void OnPrimaryAddressChanged();
  		
  		partial void OnPrimaryStateChanging(string value);
  		partial void OnPrimaryStateChanged();
  		
  		partial void OnHomePhoneChanging(string value);
  		partial void OnHomePhoneChanged();
  		
  		partial void OnSpouseIdChanging(int? value);
  		partial void OnSpouseIdChanged();
  		
  		partial void OnPrimaryAddress2Changing(string value);
  		partial void OnPrimaryAddress2Changed();
  		
  		partial void OnPrimaryResCodeChanging(int? value);
  		partial void OnPrimaryResCodeChanged();
  		
  		partial void OnPrimaryBadAddrFlagChanging(int? value);
  		partial void OnPrimaryBadAddrFlagChanged();
  		
  		partial void OnLastContactChanging(DateTime? value);
  		partial void OnLastContactChanged();
  		
  		partial void OnGradeChanging(int? value);
  		partial void OnGradeChanged();
  		
  		partial void OnCellPhoneLUChanging(string value);
  		partial void OnCellPhoneLUChanged();
  		
  		partial void OnWorkPhoneLUChanging(string value);
  		partial void OnWorkPhoneLUChanged();
  		
  		partial void OnBibleFellowshipClassIdChanging(int? value);
  		partial void OnBibleFellowshipClassIdChanged();
  		
  		partial void OnCampusIdChanging(int? value);
  		partial void OnCampusIdChanged();
  		
  		partial void OnCellPhoneACChanging(string value);
  		partial void OnCellPhoneACChanged();
  		
  		partial void OnCheckInNotesChanging(string value);
  		partial void OnCheckInNotesChanged();
  		
  		partial void OnAgeChanging(int? value);
  		partial void OnAgeChanged();
  		
  		partial void OnAltNameChanging(string value);
  		partial void OnAltNameChanged();
  		
  		partial void OnCustodyIssueChanging(bool? value);
  		partial void OnCustodyIssueChanged();
  		
  		partial void OnOkTransportChanging(bool? value);
  		partial void OnOkTransportChanged();
  		
  		partial void OnBDateChanging(DateTime? value);
  		partial void OnBDateChanged();
  		
  		partial void OnHasDuplicatesChanging(bool? value);
  		partial void OnHasDuplicatesChanged();
  		
  		partial void OnFirstName2Changing(string value);
  		partial void OnFirstName2Changed();
  		
  		partial void OnEmailAddress2Changing(string value);
  		partial void OnEmailAddress2Changed();
  		
  		partial void OnSendEmailAddress1Changing(bool? value);
  		partial void OnSendEmailAddress1Changed();
  		
  		partial void OnSendEmailAddress2Changing(bool? value);
  		partial void OnSendEmailAddress2Changed();
  		
  		partial void OnNewMemberClassDateChanging(DateTime? value);
  		partial void OnNewMemberClassDateChanged();
  		
  		partial void OnPrimaryCountryChanging(string value);
  		partial void OnPrimaryCountryChanged();
  		
  		partial void OnReceiveSMSChanging(bool value);
  		partial void OnReceiveSMSChanged();
  		
  		partial void OnDoNotPublishPhonesChanging(bool? value);
  		partial void OnDoNotPublishPhonesChanged();
  		
  		partial void OnIsDeceasedChanging(bool? value);
  		partial void OnIsDeceasedChanged();
  		
  		partial void OnSsnChanging(string value);
  		partial void OnSsnChanged();
  		
  		partial void OnDlnChanging(string value);
  		partial void OnDlnChanged();
  		
  		partial void OnDLStateIDChanging(int? value);
  		partial void OnDLStateIDChanged();
  		
  		partial void OnHashNumChanging(int? value);
  		partial void OnHashNumChanged();
  		
  		partial void OnPreferredNameChanging(string value);
  		partial void OnPreferredNameChanged();
  		
  		partial void OnName2Changing(string value);
  		partial void OnName2Changed();
  		
  		partial void OnNameChanging(string value);
  		partial void OnNameChanged();
  		
  		partial void OnElectronicStatementChanging(bool? value);
  		partial void OnElectronicStatementChanged();
  		
      #endregion
  		public Person()
  		{
  			
  			this._contactsHad = new EntitySet< Contactee>(new Action< Contactee>(this.attach_contactsHad), new Action< Contactee>(this.detach_contactsHad)); 
  			
  			this._contactsMade = new EntitySet< Contactor>(new Action< Contactor>(this.attach_contactsMade), new Action< Contactor>(this.detach_contactsMade)); 
  			
  			this._EnrollmentTransactions = new EntitySet< EnrollmentTransaction>(new Action< EnrollmentTransaction>(this.attach_EnrollmentTransactions), new Action< EnrollmentTransaction>(this.detach_EnrollmentTransactions)); 
  			
  			this._FamiliesHeaded = new EntitySet< Family>(new Action< Family>(this.attach_FamiliesHeaded), new Action< Family>(this.detach_FamiliesHeaded)); 
  			
  			this._FamiliesHeaded2 = new EntitySet< Family>(new Action< Family>(this.attach_FamiliesHeaded2), new Action< Family>(this.detach_FamiliesHeaded2)); 
  			
  			this._Attends = new EntitySet< Attend>(new Action< Attend>(this.attach_Attends), new Action< Attend>(this.detach_Attends)); 
  			
  			this._BackgroundChecks = new EntitySet< BackgroundCheck>(new Action< BackgroundCheck>(this.attach_BackgroundChecks), new Action< BackgroundCheck>(this.detach_BackgroundChecks)); 
  			
  			this._CardIdentifiers = new EntitySet< CardIdentifier>(new Action< CardIdentifier>(this.attach_CardIdentifiers), new Action< CardIdentifier>(this.detach_CardIdentifiers)); 
  			
  			this._CheckInTimes = new EntitySet< CheckInTime>(new Action< CheckInTime>(this.attach_CheckInTimes), new Action< CheckInTime>(this.detach_CheckInTimes)); 
  			
  			this._Contributions = new EntitySet< Contribution>(new Action< Contribution>(this.attach_Contributions), new Action< Contribution>(this.detach_Contributions)); 
  			
  			this._Coupons = new EntitySet< Coupon>(new Action< Coupon>(this.attach_Coupons), new Action< Coupon>(this.detach_Coupons)); 
  			
  			this._EmailOptOuts = new EntitySet< EmailOptOut>(new Action< EmailOptOut>(this.attach_EmailOptOuts), new Action< EmailOptOut>(this.detach_EmailOptOuts)); 
  			
  			this._EmailQueues = new EntitySet< EmailQueue>(new Action< EmailQueue>(this.attach_EmailQueues), new Action< EmailQueue>(this.detach_EmailQueues)); 
  			
  			this._EmailQueueTos = new EntitySet< EmailQueueTo>(new Action< EmailQueueTo>(this.attach_EmailQueueTos), new Action< EmailQueueTo>(this.detach_EmailQueueTos)); 
  			
  			this._EmailResponses = new EntitySet< EmailResponse>(new Action< EmailResponse>(this.attach_EmailResponses), new Action< EmailResponse>(this.detach_EmailResponses)); 
  			
  			this._FK_Goers = new EntitySet< GoerSupporter>(new Action< GoerSupporter>(this.attach_FK_Goers), new Action< GoerSupporter>(this.detach_FK_Goers)); 
  			
  			this._ManagedGivings = new EntitySet< ManagedGiving>(new Action< ManagedGiving>(this.attach_ManagedGivings), new Action< ManagedGiving>(this.detach_ManagedGivings)); 
  			
  			this._MemberDocForms = new EntitySet< MemberDocForm>(new Action< MemberDocForm>(this.attach_MemberDocForms), new Action< MemberDocForm>(this.detach_MemberDocForms)); 
  			
  			this._PaymentInfos = new EntitySet< PaymentInfo>(new Action< PaymentInfo>(this.attach_PaymentInfos), new Action< PaymentInfo>(this.detach_PaymentInfos)); 
  			
  			this._PeopleExtras = new EntitySet< PeopleExtra>(new Action< PeopleExtra>(this.attach_PeopleExtras), new Action< PeopleExtra>(this.detach_PeopleExtras)); 
  			
  			this._RecRegs = new EntitySet< RecReg>(new Action< RecReg>(this.attach_RecRegs), new Action< RecReg>(this.detach_RecRegs)); 
  			
  			this._RecurringAmounts = new EntitySet< RecurringAmount>(new Action< RecurringAmount>(this.attach_RecurringAmounts), new Action< RecurringAmount>(this.detach_RecurringAmounts)); 
  			
  			this._SMSItems = new EntitySet< SMSItem>(new Action< SMSItem>(this.attach_SMSItems), new Action< SMSItem>(this.detach_SMSItems)); 
  			
  			this._SMSLists = new EntitySet< SMSList>(new Action< SMSList>(this.attach_SMSLists), new Action< SMSList>(this.detach_SMSLists)); 
  			
  			this._FK_Supporters = new EntitySet< GoerSupporter>(new Action< GoerSupporter>(this.attach_FK_Supporters), new Action< GoerSupporter>(this.detach_FK_Supporters)); 
  			
  			this._TagShares = new EntitySet< TagShare>(new Action< TagShare>(this.attach_TagShares), new Action< TagShare>(this.detach_TagShares)); 
  			
  			this._TaskListOwners = new EntitySet< TaskListOwner>(new Action< TaskListOwner>(this.attach_TaskListOwners), new Action< TaskListOwner>(this.detach_TaskListOwners)); 
  			
  			this._Transactions = new EntitySet< Transaction>(new Action< Transaction>(this.attach_Transactions), new Action< Transaction>(this.detach_Transactions)); 
  			
  			this._TransactionPeople = new EntitySet< TransactionPerson>(new Action< TransactionPerson>(this.attach_TransactionPeople), new Action< TransactionPerson>(this.detach_TransactionPeople)); 
  			
  			this._Users = new EntitySet< User>(new Action< User>(this.attach_Users), new Action< User>(this.detach_Users)); 
  			
  			this._VolInterestInterestCodes = new EntitySet< VolInterestInterestCode>(new Action< VolInterestInterestCode>(this.attach_VolInterestInterestCodes), new Action< VolInterestInterestCode>(this.detach_VolInterestInterestCodes)); 
  			
  			this._Volunteers = new EntitySet< Volunteer>(new Action< Volunteer>(this.attach_Volunteers), new Action< Volunteer>(this.detach_Volunteers)); 
  			
  			this._VolunteerForms = new EntitySet< VolunteerForm>(new Action< VolunteerForm>(this.attach_VolunteerForms), new Action< VolunteerForm>(this.detach_VolunteerForms)); 
  			
  			this._VoluteerApprovalIds = new EntitySet< VoluteerApprovalId>(new Action< VoluteerApprovalId>(this.attach_VoluteerApprovalIds), new Action< VoluteerApprovalId>(this.detach_VoluteerApprovalIds)); 
  			
  			this._GoerAmounts = new EntitySet< GoerSenderAmount>(new Action< GoerSenderAmount>(this.attach_GoerAmounts), new Action< GoerSenderAmount>(this.detach_GoerAmounts)); 
  			
  			this._OnBehalfOfPeople = new EntitySet< PeopleCanEmailFor>(new Action< PeopleCanEmailFor>(this.attach_OnBehalfOfPeople), new Action< PeopleCanEmailFor>(this.detach_OnBehalfOfPeople)); 
  			
  			this._OrganizationMembers = new EntitySet< OrganizationMember>(new Action< OrganizationMember>(this.attach_OrganizationMembers), new Action< OrganizationMember>(this.detach_OrganizationMembers)); 
  			
  			this._People = new EntitySet< BackgroundCheck>(new Action< BackgroundCheck>(this.attach_People), new Action< BackgroundCheck>(this.detach_People)); 
  			
  			this._PersonsCanEmail = new EntitySet< PeopleCanEmailFor>(new Action< PeopleCanEmailFor>(this.attach_PersonsCanEmail), new Action< PeopleCanEmailFor>(this.detach_PersonsCanEmail)); 
  			
  			this._SenderAmounts = new EntitySet< GoerSenderAmount>(new Action< GoerSenderAmount>(this.attach_SenderAmounts), new Action< GoerSenderAmount>(this.detach_SenderAmounts)); 
  			
  			this._SubRequests = new EntitySet< SubRequest>(new Action< SubRequest>(this.attach_SubRequests), new Action< SubRequest>(this.detach_SubRequests)); 
  			
  			this._SubResponses = new EntitySet< SubRequest>(new Action< SubRequest>(this.attach_SubResponses), new Action< SubRequest>(this.detach_SubResponses)); 
  			
  			this._Tags = new EntitySet< TagPerson>(new Action< TagPerson>(this.attach_Tags), new Action< TagPerson>(this.detach_Tags)); 
  			
  			this._TagsOwned = new EntitySet< Tag>(new Action< Tag>(this.attach_TagsOwned), new Action< Tag>(this.detach_TagsOwned)); 
  			
  			this._Tasks = new EntitySet< Task>(new Action< Task>(this.attach_Tasks), new Action< Task>(this.detach_Tasks)); 
  			
  			this._TasksAboutPerson = new EntitySet< Task>(new Action< Task>(this.attach_TasksAboutPerson), new Action< Task>(this.detach_TasksAboutPerson)); 
  			
  			this._TasksCoOwned = new EntitySet< Task>(new Action< Task>(this.attach_TasksCoOwned), new Action< Task>(this.detach_TasksCoOwned)); 
  			
  			this._VolRequests = new EntitySet< VolRequest>(new Action< VolRequest>(this.attach_VolRequests), new Action< VolRequest>(this.detach_VolRequests)); 
  			
  			this._VolResponses = new EntitySet< VolRequest>(new Action< VolRequest>(this.attach_VolResponses), new Action< VolRequest>(this.detach_VolResponses)); 
  			
  			
  			this._BFClass = default(EntityRef< Organization>); 
  			
  			this._EnvelopeOption = default(EntityRef< EnvelopeOption>); 
  			
  			this._BaptismStatus = default(EntityRef< BaptismStatus>); 
  			
  			this._BaptismType = default(EntityRef< BaptismType>); 
  			
  			this._Campu = default(EntityRef< Campu>); 
  			
  			this._DecisionType = default(EntityRef< DecisionType>); 
  			
  			this._NewMemberClassStatus = default(EntityRef< NewMemberClassStatus>); 
  			
  			this._DropType = default(EntityRef< DropType>); 
  			
  			this._EntryPoint = default(EntityRef< EntryPoint>); 
  			
  			this._Family = default(EntityRef< Family>); 
  			
  			this._FamilyPosition = default(EntityRef< FamilyPosition>); 
  			
  			this._Gender = default(EntityRef< Gender>); 
  			
  			this._InterestPoint = default(EntityRef< InterestPoint>); 
  			
  			this._JoinType = default(EntityRef< JoinType>); 
  			
  			this._MaritalStatus = default(EntityRef< MaritalStatus>); 
  			
  			this._MemberLetterStatus = default(EntityRef< MemberLetterStatus>); 
  			
  			this._MemberStatus = default(EntityRef< MemberStatus>); 
  			
  			this._Origin = default(EntityRef< Origin>); 
  			
  			this._Picture = default(EntityRef< Picture>); 
  			
  			this._ResidentCode = default(EntityRef< ResidentCode>); 
  			
  			this._ContributionStatementOption = default(EntityRef< EnvelopeOption>); 
  			
  			OnCreated();
  		}
  
  		
      #region Columns
  		
  		[Column(Name="PeopleId", UpdateCheck=UpdateCheck.Never, Storage="_PeopleId", AutoSync=AutoSync.OnInsert, DbType="int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
  		public int PeopleId
  		{
  			get { return this._PeopleId; }
  
  			set
  			{
  				if (this._PeopleId != value)
  				{
  				
                      this.OnPeopleIdChanging(value);
  					this.SendPropertyChanging();
  					this._PeopleId = value;
  					this.SendPropertyChanged("PeopleId");
  					this.OnPeopleIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="CreatedBy", UpdateCheck=UpdateCheck.Never, Storage="_CreatedBy", DbType="int NOT NULL")]
  		public int CreatedBy
  		{
  			get { return this._CreatedBy; }
  
  			set
  			{
  				if (this._CreatedBy != value)
  				{
  				
                      this.OnCreatedByChanging(value);
  					this.SendPropertyChanging();
  					this._CreatedBy = value;
  					this.SendPropertyChanged("CreatedBy");
  					this.OnCreatedByChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="CreatedDate", UpdateCheck=UpdateCheck.Never, Storage="_CreatedDate", DbType="datetime")]
  		public DateTime? CreatedDate
  		{
  			get { return this._CreatedDate; }
  
  			set
  			{
  				if (this._CreatedDate != value)
  				{
  				
                      this.OnCreatedDateChanging(value);
  					this.SendPropertyChanging();
  					this._CreatedDate = value;
  					this.SendPropertyChanged("CreatedDate");
  					this.OnCreatedDateChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="DropCodeId", UpdateCheck=UpdateCheck.Never, Storage="_DropCodeId", DbType="int NOT NULL")]
  		[IsForeignKey]
  		public int DropCodeId
  		{
  			get { return this._DropCodeId; }
  
  			set
  			{
  				if (this._DropCodeId != value)
  				{
  				
  					if (this._DropType.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnDropCodeIdChanging(value);
  					this.SendPropertyChanging();
  					this._DropCodeId = value;
  					this.SendPropertyChanged("DropCodeId");
  					this.OnDropCodeIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="GenderId", UpdateCheck=UpdateCheck.Never, Storage="_GenderId", DbType="int NOT NULL")]
  		[IsForeignKey]
  		public int GenderId
  		{
  			get { return this._GenderId; }
  
  			set
  			{
  				if (this._GenderId != value)
  				{
  				
  					if (this._Gender.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnGenderIdChanging(value);
  					this.SendPropertyChanging();
  					this._GenderId = value;
  					this.SendPropertyChanged("GenderId");
  					this.OnGenderIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="DoNotMailFlag", UpdateCheck=UpdateCheck.Never, Storage="_DoNotMailFlag", DbType="bit NOT NULL")]
  		public bool DoNotMailFlag
  		{
  			get { return this._DoNotMailFlag; }
  
  			set
  			{
  				if (this._DoNotMailFlag != value)
  				{
  				
                      this.OnDoNotMailFlagChanging(value);
  					this.SendPropertyChanging();
  					this._DoNotMailFlag = value;
  					this.SendPropertyChanged("DoNotMailFlag");
  					this.OnDoNotMailFlagChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="DoNotCallFlag", UpdateCheck=UpdateCheck.Never, Storage="_DoNotCallFlag", DbType="bit NOT NULL")]
  		public bool DoNotCallFlag
  		{
  			get { return this._DoNotCallFlag; }
  
  			set
  			{
  				if (this._DoNotCallFlag != value)
  				{
  				
                      this.OnDoNotCallFlagChanging(value);
  					this.SendPropertyChanging();
  					this._DoNotCallFlag = value;
  					this.SendPropertyChanged("DoNotCallFlag");
  					this.OnDoNotCallFlagChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="DoNotVisitFlag", UpdateCheck=UpdateCheck.Never, Storage="_DoNotVisitFlag", DbType="bit NOT NULL")]
  		public bool DoNotVisitFlag
  		{
  			get { return this._DoNotVisitFlag; }
  
  			set
  			{
  				if (this._DoNotVisitFlag != value)
  				{
  				
                      this.OnDoNotVisitFlagChanging(value);
  					this.SendPropertyChanging();
  					this._DoNotVisitFlag = value;
  					this.SendPropertyChanged("DoNotVisitFlag");
  					this.OnDoNotVisitFlagChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="AddressTypeId", UpdateCheck=UpdateCheck.Never, Storage="_AddressTypeId", DbType="int NOT NULL")]
  		public int AddressTypeId
  		{
  			get { return this._AddressTypeId; }
  
  			set
  			{
  				if (this._AddressTypeId != value)
  				{
  				
                      this.OnAddressTypeIdChanging(value);
  					this.SendPropertyChanging();
  					this._AddressTypeId = value;
  					this.SendPropertyChanged("AddressTypeId");
  					this.OnAddressTypeIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="PhonePrefId", UpdateCheck=UpdateCheck.Never, Storage="_PhonePrefId", DbType="int NOT NULL")]
  		public int PhonePrefId
  		{
  			get { return this._PhonePrefId; }
  
  			set
  			{
  				if (this._PhonePrefId != value)
  				{
  				
                      this.OnPhonePrefIdChanging(value);
  					this.SendPropertyChanging();
  					this._PhonePrefId = value;
  					this.SendPropertyChanged("PhonePrefId");
  					this.OnPhonePrefIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="MaritalStatusId", UpdateCheck=UpdateCheck.Never, Storage="_MaritalStatusId", DbType="int NOT NULL")]
  		[IsForeignKey]
  		public int MaritalStatusId
  		{
  			get { return this._MaritalStatusId; }
  
  			set
  			{
  				if (this._MaritalStatusId != value)
  				{
  				
  					if (this._MaritalStatus.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnMaritalStatusIdChanging(value);
  					this.SendPropertyChanging();
  					this._MaritalStatusId = value;
  					this.SendPropertyChanged("MaritalStatusId");
  					this.OnMaritalStatusIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="PositionInFamilyId", UpdateCheck=UpdateCheck.Never, Storage="_PositionInFamilyId", DbType="int NOT NULL")]
  		[IsForeignKey]
  		public int PositionInFamilyId
  		{
  			get { return this._PositionInFamilyId; }
  
  			set
  			{
  				if (this._PositionInFamilyId != value)
  				{
  				
  					if (this._FamilyPosition.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnPositionInFamilyIdChanging(value);
  					this.SendPropertyChanging();
  					this._PositionInFamilyId = value;
  					this.SendPropertyChanged("PositionInFamilyId");
  					this.OnPositionInFamilyIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="MemberStatusId", UpdateCheck=UpdateCheck.Never, Storage="_MemberStatusId", DbType="int NOT NULL")]
  		[IsForeignKey]
  		public int MemberStatusId
  		{
  			get { return this._MemberStatusId; }
  
  			set
  			{
  				if (this._MemberStatusId != value)
  				{
  				
  					if (this._MemberStatus.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnMemberStatusIdChanging(value);
  					this.SendPropertyChanging();
  					this._MemberStatusId = value;
  					this.SendPropertyChanged("MemberStatusId");
  					this.OnMemberStatusIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="FamilyId", UpdateCheck=UpdateCheck.Never, Storage="_FamilyId", DbType="int NOT NULL")]
  		[IsForeignKey]
  		public int FamilyId
  		{
  			get { return this._FamilyId; }
  
  			set
  			{
  				if (this._FamilyId != value)
  				{
  				
  					if (this._Family.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnFamilyIdChanging(value);
  					this.SendPropertyChanging();
  					this._FamilyId = value;
  					this.SendPropertyChanged("FamilyId");
  					this.OnFamilyIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="BirthMonth", UpdateCheck=UpdateCheck.Never, Storage="_BirthMonth", DbType="int")]
  		public int? BirthMonth
  		{
  			get { return this._BirthMonth; }
  
  			set
  			{
  				if (this._BirthMonth != value)
  				{
  				
                      this.OnBirthMonthChanging(value);
  					this.SendPropertyChanging();
  					this._BirthMonth = value;
  					this.SendPropertyChanged("BirthMonth");
  					this.OnBirthMonthChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="BirthDay", UpdateCheck=UpdateCheck.Never, Storage="_BirthDay", DbType="int")]
  		public int? BirthDay
  		{
  			get { return this._BirthDay; }
  
  			set
  			{
  				if (this._BirthDay != value)
  				{
  				
                      this.OnBirthDayChanging(value);
  					this.SendPropertyChanging();
  					this._BirthDay = value;
  					this.SendPropertyChanged("BirthDay");
  					this.OnBirthDayChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="BirthYear", UpdateCheck=UpdateCheck.Never, Storage="_BirthYear", DbType="int")]
  		public int? BirthYear
  		{
  			get { return this._BirthYear; }
  
  			set
  			{
  				if (this._BirthYear != value)
  				{
  				
                      this.OnBirthYearChanging(value);
  					this.SendPropertyChanging();
  					this._BirthYear = value;
  					this.SendPropertyChanged("BirthYear");
  					this.OnBirthYearChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="OriginId", UpdateCheck=UpdateCheck.Never, Storage="_OriginId", DbType="int")]
  		[IsForeignKey]
  		public int? OriginId
  		{
  			get { return this._OriginId; }
  
  			set
  			{
  				if (this._OriginId != value)
  				{
  				
  					if (this._Origin.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnOriginIdChanging(value);
  					this.SendPropertyChanging();
  					this._OriginId = value;
  					this.SendPropertyChanged("OriginId");
  					this.OnOriginIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="EntryPointId", UpdateCheck=UpdateCheck.Never, Storage="_EntryPointId", DbType="int")]
  		[IsForeignKey]
  		public int? EntryPointId
  		{
  			get { return this._EntryPointId; }
  
  			set
  			{
  				if (this._EntryPointId != value)
  				{
  				
  					if (this._EntryPoint.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnEntryPointIdChanging(value);
  					this.SendPropertyChanging();
  					this._EntryPointId = value;
  					this.SendPropertyChanged("EntryPointId");
  					this.OnEntryPointIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="InterestPointId", UpdateCheck=UpdateCheck.Never, Storage="_InterestPointId", DbType="int")]
  		[IsForeignKey]
  		public int? InterestPointId
  		{
  			get { return this._InterestPointId; }
  
  			set
  			{
  				if (this._InterestPointId != value)
  				{
  				
  					if (this._InterestPoint.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnInterestPointIdChanging(value);
  					this.SendPropertyChanging();
  					this._InterestPointId = value;
  					this.SendPropertyChanged("InterestPointId");
  					this.OnInterestPointIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="BaptismTypeId", UpdateCheck=UpdateCheck.Never, Storage="_BaptismTypeId", DbType="int")]
  		[IsForeignKey]
  		public int? BaptismTypeId
  		{
  			get { return this._BaptismTypeId; }
  
  			set
  			{
  				if (this._BaptismTypeId != value)
  				{
  				
  					if (this._BaptismType.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnBaptismTypeIdChanging(value);
  					this.SendPropertyChanging();
  					this._BaptismTypeId = value;
  					this.SendPropertyChanged("BaptismTypeId");
  					this.OnBaptismTypeIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="BaptismStatusId", UpdateCheck=UpdateCheck.Never, Storage="_BaptismStatusId", DbType="int")]
  		[IsForeignKey]
  		public int? BaptismStatusId
  		{
  			get { return this._BaptismStatusId; }
  
  			set
  			{
  				if (this._BaptismStatusId != value)
  				{
  				
  					if (this._BaptismStatus.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnBaptismStatusIdChanging(value);
  					this.SendPropertyChanging();
  					this._BaptismStatusId = value;
  					this.SendPropertyChanged("BaptismStatusId");
  					this.OnBaptismStatusIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="DecisionTypeId", UpdateCheck=UpdateCheck.Never, Storage="_DecisionTypeId", DbType="int")]
  		[IsForeignKey]
  		public int? DecisionTypeId
  		{
  			get { return this._DecisionTypeId; }
  
  			set
  			{
  				if (this._DecisionTypeId != value)
  				{
  				
  					if (this._DecisionType.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnDecisionTypeIdChanging(value);
  					this.SendPropertyChanging();
  					this._DecisionTypeId = value;
  					this.SendPropertyChanged("DecisionTypeId");
  					this.OnDecisionTypeIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="NewMemberClassStatusId", UpdateCheck=UpdateCheck.Never, Storage="_NewMemberClassStatusId", DbType="int")]
  		[IsForeignKey]
  		public int? NewMemberClassStatusId
  		{
  			get { return this._NewMemberClassStatusId; }
  
  			set
  			{
  				if (this._NewMemberClassStatusId != value)
  				{
  				
  					if (this._NewMemberClassStatus.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnNewMemberClassStatusIdChanging(value);
  					this.SendPropertyChanging();
  					this._NewMemberClassStatusId = value;
  					this.SendPropertyChanged("NewMemberClassStatusId");
  					this.OnNewMemberClassStatusIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="LetterStatusId", UpdateCheck=UpdateCheck.Never, Storage="_LetterStatusId", DbType="int")]
  		[IsForeignKey]
  		public int? LetterStatusId
  		{
  			get { return this._LetterStatusId; }
  
  			set
  			{
  				if (this._LetterStatusId != value)
  				{
  				
  					if (this._MemberLetterStatus.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnLetterStatusIdChanging(value);
  					this.SendPropertyChanging();
  					this._LetterStatusId = value;
  					this.SendPropertyChanged("LetterStatusId");
  					this.OnLetterStatusIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="JoinCodeId", UpdateCheck=UpdateCheck.Never, Storage="_JoinCodeId", DbType="int NOT NULL")]
  		[IsForeignKey]
  		public int JoinCodeId
  		{
  			get { return this._JoinCodeId; }
  
  			set
  			{
  				if (this._JoinCodeId != value)
  				{
  				
  					if (this._JoinType.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnJoinCodeIdChanging(value);
  					this.SendPropertyChanging();
  					this._JoinCodeId = value;
  					this.SendPropertyChanged("JoinCodeId");
  					this.OnJoinCodeIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="EnvelopeOptionsId", UpdateCheck=UpdateCheck.Never, Storage="_EnvelopeOptionsId", DbType="int")]
  		[IsForeignKey]
  		public int? EnvelopeOptionsId
  		{
  			get { return this._EnvelopeOptionsId; }
  
  			set
  			{
  				if (this._EnvelopeOptionsId != value)
  				{
  				
  					if (this._EnvelopeOption.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnEnvelopeOptionsIdChanging(value);
  					this.SendPropertyChanging();
  					this._EnvelopeOptionsId = value;
  					this.SendPropertyChanged("EnvelopeOptionsId");
  					this.OnEnvelopeOptionsIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="BadAddressFlag", UpdateCheck=UpdateCheck.Never, Storage="_BadAddressFlag", DbType="bit")]
  		public bool? BadAddressFlag
  		{
  			get { return this._BadAddressFlag; }
  
  			set
  			{
  				if (this._BadAddressFlag != value)
  				{
  				
                      this.OnBadAddressFlagChanging(value);
  					this.SendPropertyChanging();
  					this._BadAddressFlag = value;
  					this.SendPropertyChanged("BadAddressFlag");
  					this.OnBadAddressFlagChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="ResCodeId", UpdateCheck=UpdateCheck.Never, Storage="_ResCodeId", DbType="int")]
  		[IsForeignKey]
  		public int? ResCodeId
  		{
  			get { return this._ResCodeId; }
  
  			set
  			{
  				if (this._ResCodeId != value)
  				{
  				
  					if (this._ResidentCode.HasLoadedOrAssignedValue)
  						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
  				
                      this.OnResCodeIdChanging(value);
  					this.SendPropertyChanging();
  					this._ResCodeId = value;
  					this.SendPropertyChanged("ResCodeId");
  					this.OnResCodeIdChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="AddressFromDate", UpdateCheck=UpdateCheck.Never, Storage="_AddressFromDate", DbType="datetime")]
  		public DateTime? AddressFromDate
  		{
  			get { return this._AddressFromDate; }
  
  			set
  			{
  				if (this._AddressFromDate != value)
  				{
  				
                      this.OnAddressFromDateChanging(value);
  					this.SendPropertyChanging();
  					this._AddressFromDate = value;
  					this.SendPropertyChanged("AddressFromDate");
  					this.OnAddressFromDateChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="AddressToDate", UpdateCheck=UpdateCheck.Never, Storage="_AddressToDate", DbType="datetime")]
  		public DateTime? AddressToDate
  		{
  			get { return this._AddressToDate; }
  
  			set
  			{
  				if (this._AddressToDate != value)
  				{
  				
                      this.OnAddressToDateChanging(value);
  					this.SendPropertyChanging();
  					this._AddressToDate = value;
  					this.SendPropertyChanged("AddressToDate");
  					this.OnAddressToDateChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="WeddingDate", UpdateCheck=UpdateCheck.Never, Storage="_WeddingDate", DbType="datetime")]
  		public DateTime? WeddingDate
  		{
  			get { return this._WeddingDate; }
  
  			set
  			{
  				if (this._WeddingDate != value)
  				{
  				
                      this.OnWeddingDateChanging(value);
  					this.SendPropertyChanging();
  					this._WeddingDate = value;
  					this.SendPropertyChanged("WeddingDate");
  					this.OnWeddingDateChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="OriginDate", UpdateCheck=UpdateCheck.Never, Storage="_OriginDate", DbType="datetime")]
  		public DateTime? OriginDate
  		{
  			get { return this._OriginDate; }
  
  			set
  			{
  				if (this._OriginDate != value)
  				{
  				
                      this.OnOriginDateChanging(value);
  					this.SendPropertyChanging();
  					this._OriginDate = value;
  					this.SendPropertyChanged("OriginDate");
  					this.OnOriginDateChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="BaptismSchedDate", UpdateCheck=UpdateCheck.Never, Storage="_BaptismSchedDate", DbType="datetime")]
  		public DateTime? BaptismSchedDate
  		{
  			get { return this._BaptismSchedDate; }
  
  			set
  			{
  				if (this._BaptismSchedDate != value)
  				{
  				
                      this.OnBaptismSchedDateChanging(value);
  					this.SendPropertyChanging();
  					this._BaptismSchedDate = value;
  					this.SendPropertyChanged("BaptismSchedDate");
  					this.OnBaptismSchedDateChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="BaptismDate", UpdateCheck=UpdateCheck.Never, Storage="_BaptismDate", DbType="datetime")]
  		public DateTime? BaptismDate
  		{
  			get { return this._BaptismDate; }
  
  			set
  			{
  				if (this._BaptismDate != value)
  				{
  				
                      this.OnBaptismDateChanging(value);
  					this.SendPropertyChanging();
  					this._BaptismDate = value;
  					this.SendPropertyChanged("BaptismDate");
  					this.OnBaptismDateChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="DecisionDate", UpdateCheck=UpdateCheck.Never, Storage="_DecisionDate", DbType="datetime")]
  		public DateTime? DecisionDate
  		{
  			get { return this._DecisionDate; }
  
  			set
  			{
  				if (this._DecisionDate != value)
  				{
  				
                      this.OnDecisionDateChanging(value);
  					this.SendPropertyChanging();
  					this._DecisionDate = value;
  					this.SendPropertyChanged("DecisionDate");
  					this.OnDecisionDateChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="LetterDateRequested", UpdateCheck=UpdateCheck.Never, Storage="_LetterDateRequested", DbType="datetime")]
  		public DateTime? LetterDateRequested
  		{
  			get { return this._LetterDateRequested; }
  
  			set
  			{
  				if (this._LetterDateRequested != value)
  				{
  				
                      this.OnLetterDateRequestedChanging(value);
  					this.SendPropertyChanging();
  					this._LetterDateRequested = value;
  					this.SendPropertyChanged("LetterDateRequested");
  					this.OnLetterDateRequestedChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="LetterDateReceived", UpdateCheck=UpdateCheck.Never, Storage="_LetterDateReceived", DbType="datetime")]
  		public DateTime? LetterDateReceived
  		{
  			get { return this._LetterDateReceived; }
  
  			set
  			{
  				if (this._LetterDateReceived != value)
  				{
  				
                      this.OnLetterDateReceivedChanging(value);
  					this.SendPropertyChanging();
  					this._LetterDateReceived = value;
  					this.SendPropertyChanged("LetterDateReceived");
  					this.OnLetterDateReceivedChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="JoinDate", UpdateCheck=UpdateCheck.Never, Storage="_JoinDate", DbType="datetime")]
  		public DateTime? JoinDate
  		{
  			get { return this._JoinDate; }
  
  			set
  			{
  				if (this._JoinDate != value)
  				{
  				
                      this.OnJoinDateChanging(value);
  					this.SendPropertyChanging();
  					this._JoinDate = value;
  					this.SendPropertyChanged("JoinDate");
  					this.OnJoinDateChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="DropDate", UpdateCheck=UpdateCheck.Never, Storage="_DropDate", DbType="datetime")]
  		public DateTime? DropDate
  		{
  			get { return this._DropDate; }
  
  			set
  			{
  				if (this._DropDate != value)
  				{
  				
                      this.OnDropDateChanging(value);
  					this.SendPropertyChanging();
  					this._DropDate = value;
  					this.SendPropertyChanged("DropDate");
  					this.OnDropDateChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="DeceasedDate", UpdateCheck=UpdateCheck.Never, Storage="_DeceasedDate", DbType="datetime")]
  		public DateTime? DeceasedDate
  		{
  			get { return this._DeceasedDate; }
  
  			set
  			{
  				if (this._DeceasedDate != value)
  				{
  				
                      this.OnDeceasedDateChanging(value);
  					this.SendPropertyChanging();
  					this._DeceasedDate = value;
  					this.SendPropertyChanged("DeceasedDate");
  					this.OnDeceasedDateChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="TitleCode", UpdateCheck=UpdateCheck.Never, Storage="_TitleCode", DbType="nvarchar(10)")]
  		public string TitleCode
  		{
  			get { return this._TitleCode; }
  
  			set
  			{
  				if (this._TitleCode != value)
  				{
  				
                      this.OnTitleCodeChanging(value);
  					this.SendPropertyChanging();
  					this._TitleCode = value;
  					this.SendPropertyChanged("TitleCode");
  					this.OnTitleCodeChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="FirstName", UpdateCheck=UpdateCheck.Never, Storage="_FirstName", DbType="nvarchar(25)")]
  		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();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="MiddleName", UpdateCheck=UpdateCheck.Never, Storage="_MiddleName", DbType="nvarchar(30)")]
  		public string MiddleName
  		{
  			get { return this._MiddleName; }
  
  			set
  			{
  				if (this._MiddleName != value)
  				{
  				
                      this.OnMiddleNameChanging(value);
  					this.SendPropertyChanging();
  					this._MiddleName = value;
  					this.SendPropertyChanged("MiddleName");
  					this.OnMiddleNameChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="MaidenName", UpdateCheck=UpdateCheck.Never, Storage="_MaidenName", DbType="nvarchar(20)")]
  		public string MaidenName
  		{
  			get { return this._MaidenName; }
  
  			set
  			{
  				if (this._MaidenName != value)
  				{
  				
                      this.OnMaidenNameChanging(value);
  					this.SendPropertyChanging();
  					this._MaidenName = value;
  					this.SendPropertyChanged("MaidenName");
  					this.OnMaidenNameChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="LastName", UpdateCheck=UpdateCheck.Never, Storage="_LastName", DbType="nvarchar(100) NOT NULL")]
  		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();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="SuffixCode", UpdateCheck=UpdateCheck.Never, Storage="_SuffixCode", DbType="nvarchar(10)")]
  		public string SuffixCode
  		{
  			get { return this._SuffixCode; }
  
  			set
  			{
  				if (this._SuffixCode != value)
  				{
  				
                      this.OnSuffixCodeChanging(value);
  					this.SendPropertyChanging();
  					this._SuffixCode = value;
  					this.SendPropertyChanged("SuffixCode");
  					this.OnSuffixCodeChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="NickName", UpdateCheck=UpdateCheck.Never, Storage="_NickName", DbType="nvarchar(25)")]
  		public string NickName
  		{
  			get { return this._NickName; }
  
  			set
  			{
  				if (this._NickName != value)
  				{
  				
                      this.OnNickNameChanging(value);
  					this.SendPropertyChanging();
  					this._NickName = value;
  					this.SendPropertyChanged("NickName");
  					this.OnNickNameChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="AddressLineOne", UpdateCheck=UpdateCheck.Never, Storage="_AddressLineOne", DbType="nvarchar(100)")]
  		public string AddressLineOne
  		{
  			get { return this._AddressLineOne; }
  
  			set
  			{
  				if (this._AddressLineOne != value)
  				{
  				
                      this.OnAddressLineOneChanging(value);
  					this.SendPropertyChanging();
  					this._AddressLineOne = value;
  					this.SendPropertyChanged("AddressLineOne");
  					this.OnAddressLineOneChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="AddressLineTwo", UpdateCheck=UpdateCheck.Never, Storage="_AddressLineTwo", DbType="nvarchar(100)")]
  		public string AddressLineTwo
  		{
  			get { return this._AddressLineTwo; }
  
  			set
  			{
  				if (this._AddressLineTwo != value)
  				{
  				
                      this.OnAddressLineTwoChanging(value);
  					this.SendPropertyChanging();
  					this._AddressLineTwo = value;
  					this.SendPropertyChanged("AddressLineTwo");
  					this.OnAddressLineTwoChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="CityName", UpdateCheck=UpdateCheck.Never, Storage="_CityName", DbType="nvarchar(30)")]
  		public string CityName
  		{
  			get { return this._CityName; }
  
  			set
  			{
  				if (this._CityName != value)
  				{
  				
                      this.OnCityNameChanging(value);
  					this.SendPropertyChanging();
  					this._CityName = value;
  					this.SendPropertyChanged("CityName");
  					this.OnCityNameChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="StateCode", UpdateCheck=UpdateCheck.Never, Storage="_StateCode", DbType="nvarchar(30)")]
  		public string StateCode
  		{
  			get { return this._StateCode; }
  
  			set
  			{
  				if (this._StateCode != value)
  				{
  				
                      this.OnStateCodeChanging(value);
  					this.SendPropertyChanging();
  					this._StateCode = value;
  					this.SendPropertyChanged("StateCode");
  					this.OnStateCodeChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="ZipCode", UpdateCheck=UpdateCheck.Never, Storage="_ZipCode", DbType="nvarchar(15)")]
  		public string ZipCode
  		{
  			get { return this._ZipCode; }
  
  			set
  			{
  				if (this._ZipCode != value)
  				{
  				
                      this.OnZipCodeChanging(value);
  					this.SendPropertyChanging();
  					this._ZipCode = value;
  					this.SendPropertyChanged("ZipCode");
  					this.OnZipCodeChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="CountryName", UpdateCheck=UpdateCheck.Never, Storage="_CountryName", DbType="nvarchar(40)")]
  		public string CountryName
  		{
  			get { return this._CountryName; }
  
  			set
  			{
  				if (this._CountryName != value)
  				{
  				
                      this.OnCountryNameChanging(value);
  					this.SendPropertyChanging();
  					this._CountryName = value;
  					this.SendPropertyChanged("CountryName");
  					this.OnCountryNameChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="StreetName", UpdateCheck=UpdateCheck.Never, Storage="_StreetName", DbType="nvarchar(40)")]
  		public string StreetName
  		{
  			get { return this._StreetName; }
  
  			set
  			{
  				if (this._StreetName != value)
  				{
  				
                      this.OnStreetNameChanging(value);
  					this.SendPropertyChanging();
  					this._StreetName = value;
  					this.SendPropertyChanged("StreetName");
  					this.OnStreetNameChanged();
  				}
  
  			}
  
  		}
  
  		
  		[Column(Name="CellPhone", UpdateCheck=UpdateCheck.Never, Storage="_CellPhone", DbType="nvarchar(20)")]
  		public string CellPhone
  		{
  
gt: 			get { return this._CellPhone; }