public MemberEmailChange CreateEmailChange(MemberEmailChange memberEmailChange)
        {
            using (context = new DomainContext())
            {
                context.Configuration.LazyLoadingEnabled = false;

                context.MemberEmailChanges.Add(memberEmailChange);

                context.SaveChanges();
            }

            return memberEmailChange;
        }
        public MemberEmailChange UpdateEmailChange(MemberEmailChange memberEmailChange)
        {
            using (context = new DomainContext())
            {
                var memberIdVariable = "@memberId";
                var emailVariable = "@email";

                var command = string.Format("exec UpdateEmailChange {0}, {1}",
                                            memberIdVariable,
                                            emailVariable);

                var memberId = new SqlParameter(memberIdVariable, memberEmailChange.MemberId);
                var email = new SqlParameter(emailVariable, memberEmailChange.Email);

                context.Database.ExecuteSqlCommand(command, memberId, email);
            }

            return memberEmailChange;
        }
        public MemberEmailChange GetMemberEmailChange(int memberId)
        {
            MemberEmailChange memberEmailChange;

            using (context = new DomainContext())
            {
                var entity = context.MemberEmailChanges.SingleOrDefault(i => i.MemberId == memberId);

                if (entity == null)
                {
                    memberEmailChange = new MemberEmailChange();
                }
                else
                {
                    memberEmailChange = entity;
                }
            }

            return memberEmailChange;
        }