1

「Timecard」テーブルに新しいレコードを作成すると同時に、エンティティ フレームワークを使用して「TimecardStatusTrack」テーブルに 1 つのレコードを作成したいと考えています。親レコードを作成できますが、子レコードを追加しているときに例外が発生します。私が書いたコードは次のようなものです

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);
        }
4

0 に答える 0