添加父行并为该新父行添加子项

时间:2013-06-05 06:41:49

标签: asp.net asp.net-mvc-3 entity-framework c#-4.0 entity-framework-4

我正在'Timecard'表中创建新记录,同时我想使用实体框架在'TimecardStatusTrack'表中创建一条记录。我能够创建父记录,但在添加子记录时我得到了异常。我写的代码就像

var fEmpManager = DependencyContainer.GetInstance<IBusinessService<FacilityEmployee>>();
int timecardStatusDidNotWork =
Convert.ToInt32(GeneralCodeId.TimeCardStatusDidNotWork, CultureInfo.InvariantCulture);
Timecard timecard = new Timecard();
TimecardStatusTrack timecardStatus = new TimecardStatusTrack();
try
{
            var fEmp = fEmpManager.Where(w => w.JobId == jobId &&  w.AgencyBiddingProfile.AgencyCandidateId == agencyCandidateId).FirstOrDefault();
            timecard.JobId = jobId;
            timecard.AgencyCandidateId = agencyCandidateId;
            timecard.WeekStartDate = Convert.ToDateTime(weekStartDate,   CultureInfo.InvariantCulture);
            timecard.WeekEndDate = Convert.ToDateTime(weekEndDate, CultureInfo.InvariantCulture);
            timecard.FacilityEmployeeId = fEmp.Id;
            timecard.FacilityId = fEmp.FacilityId;
            timecard.TimecardStatusGCId = timecardStatusDidNotWork;
            timecard.AddUser = SessionManager.AuthorizedInfo.UserId;
            timecard.AddDate = DateTime.Now;

            timecardStatus.TimecardStatusGCId = timecardStatusDidNotWork;
            timecardStatus.AddUser = SessionManager.AuthorizedInfo.UserId;
            timecardStatus.AddDate = DateTime.Now;
            timecardStatus.UpdatedBy = SessionManager.AuthorizedInfo.UserId;
            timecardStatus.Comments = string.Empty;
            _ViewTimeCardBusibessService.Create(timecard);
            timecard.TimecardStatusTracks.Add(timecardStatus);
            _ViewTimeCardBusibessService.Update(timecard);

        }
        catch (Exception ex)
        {
            HandleValidationErrors(ex);
        }
        finally 
        {
            DependencyContainer.ReleaseInstance(fEmpManager);
        }

0 个答案:

没有答案