Inheritance: INotifyPropertyChanging, INotifyPropertyChanged
        public void Register(CharityRequirement charity, IList<Technology> infrastructure, IList<Technology> support)
        {
            foreach (var inf in infrastructure)
            {
                var charityInfrastructure = new CharityRequirementTechnologiesUsed
                {
                    CharityRequirement = charity,
                    CharityRequirementId = charity.CharityRequirementId,
                    TechnologyId = inf.TechnologyID
                };
            }

            foreach (var supp in support)
            {
                var charitySupport = new CharityRequirementSupportSkill
                {
                    CharityRequirement = charity,
                     TechnologyId = supp.TechnologyID,
                     CharityRequirementId = charity.CharityRequirementId
                };

            }
            _datacontext.CharityRequirements.InsertOnSubmit(charity);
        }
 partial void DeleteCharityRequirementSupportSkill(CharityRequirementSupportSkill instance);
 partial void InsertCharityRequirementSupportSkill(CharityRequirementSupportSkill instance);
		private void detach_CharityRequirementSupportSkills(CharityRequirementSupportSkill entity)
		{
			this.SendPropertyChanging();
			entity.CharityRequirement = null;
		}
		private void attach_CharityRequirementSupportSkills(CharityRequirementSupportSkill entity)
		{
			this.SendPropertyChanging();
			entity.Technology = this;
		}