Как обновить Связанные данные в Entity Framework отношения один ко многим - PullRequest
0 голосов
/ 16 декабря 2018

У меня есть одна ко многим таблицам отношений. Я хочу обновить список кандидатов, используя EF.Каков наилучший способ сделать это.Вот мои классы и код

 [Table("tbl_MemberProfile")]
    public class MemberProfile : BaseTrackable
    {
        public string LandlineNumber { get; set; }
        public string ProfilePicture { get; set; }
        public bool isActive { get; set; }
        public string ThumbImpression { get; set; }
        public string ScannedCnic { get; set; }
        public virtual ICollection<MemberNominee> ListMemberNominee { get; set; }

    }

[Table("tbl_MemeberNominee")]
public class MemberNominee : BaseTable
{
    public string CNIC { get; set; }
    public string FirstName { get; set; }
    public string MiddleName { get; set; }
    public string LastName { get; set; }
    public string PresentAddress { get; set; }
    [ForeignKey("MemberProfile")]
    public long MemeberId { get; set; }
    public virtual MemberProfile MemberProfile { get; set; }
}

    public int UpdateMember(MemberProfileModel model)
    {
        try
        {
            using (var scope = new TransactionScope())
            {
                var _memberData = _db.MemberProfile.Where(x => x.ID == model.ID).Include(x => x.ListMemberNominee).FirstOrDefault();
                if (_memberData != null)
                {
                    _memberData.LandlineNumber = model.LandlineNumber;
                    _memberData.MobileNumber = model.MobileNumber;
                    _memberData.ScannedCnic = model.ScannedCnic;
                    _memberData.ThumbImpression = model.ThumbImpression;
                    _db.SaveChanges();


                    foreach (var item in model.MemberNomineeList)
                    {
                        MemberNominee _nominee = new MemberNominee
                        {
                            CNIC = item.CNIC,
                            FirstName = item.FirstName,
                            MiddleName = item.MiddleName,
                            LastName = item.LastName,
                            PresentAddress = item.PresentAddress,
                            MemeberId = _memberData.ID,
                            RelationId = item.RelationId
                        };
                    }
                    _db.SaveChanges();
                    scope.Complete();
                    return 1;
                }
                else { return -2; }

            }
        }
        catch (Exception ex)
        {
            ExceptionLoggerHelper.SendExcepToDB(ex, model.UserId, "MemberService", "UpdateMember", "");
            return -1;
        }
    }

В моем методе updateMember я обновляю таблицу memberprofile по сравнению с таблицей memberprofile. Я хочу также обновить таблицу membernominee.MemberProfileModel имеет новый список от конца пользователя.Как я могу обновить свои записи, используя лучший подход в Entityframwork

...