protected override async Task <MsBuildItemGroup> AssignUpsertedReferences(MsBuildItemGroup record)
        {
            record.MsBuildCondition = await _conditions.UpsertAsync(record.MsBuildCondition);

            record.MsBuildConditionId = record.MsBuildCondition?.MsBuildConditionId ?? record.MsBuildConditionId;
            record.MsBuildItemList    = await _items.UpsertAsync(record.MsBuildItemList);

            record.MsBuildItemListId = record.MsBuildItemList?.MsBuildItemListId ?? record.MsBuildItemListId;
            return(record);
        }
 protected override Expression <Func <MsBuildItemGroup, bool> > FindExisting(MsBuildItemGroup record)
 => existing
 => existing.MsBuildItemListId == record.MsBuildItemListId &&
 ((existing.MsBuildConditionId == null && record.MsBuildConditionId == null) || (existing.MsBuildConditionId == record.MsBuildConditionId));
        protected override IEnumerable <object> EnumerateReferences(MsBuildItemGroup record)
        {
            yield return(record.MsBuildCondition);

            yield return(record.MsBuildItemList);
        }