protected override IEnumerable <object> EnumerateReferences(MsBuildProperty record) { yield return(record.ElementName); yield return(record.ElementValue); yield return(record.MsBuildCondition); }
protected override async Task <MsBuildProperty> AssignUpsertedReferences(MsBuildProperty record) { record.ElementName = await _strings.UpsertAsync(record.ElementName); record.ElementNameId = record.ElementName?.AsciiStringReferenceId ?? record.ElementNameId; record.ElementValue = await _strings.UpsertAsync(record.ElementValue); record.ElementValueId = record.ElementValue?.AsciiStringReferenceId ?? record.ElementValueId; record.MsBuildCondition = await _conditions.UpsertAsync(record.MsBuildCondition); record.MsBuildConditionId = record.MsBuildCondition?.MsBuildConditionId ?? record.MsBuildConditionId; return(record); }
protected override Expression <Func <MsBuildProperty, bool> > FindExisting(MsBuildProperty record) => existing => existing.ElementNameId == record.ElementNameId && existing.ElementValueId == record.ElementValueId && ((existing.MsBuildConditionId == null && record.MsBuildConditionId == null) || (existing.MsBuildConditionId == record.MsBuildConditionId));