C# 如何确保在第一个addPhoto行完成后调用第二个product addPhoto方法?

C# 如何确保在第一个addPhoto行完成后调用第二个product addPhoto方法?,c#,.net,entity-framework,async-await,C#,.net,Entity Framework,Async Await,**您好,我需要确保product addphoto first方法的Id大于第二个picture addphoto方法(back pic)在转到下一行之前,我如何等待执行该行 我试图创建一个异步方法,但我得到了错误,因为该方法不能返回void和async。有什么帮助吗** var product = new Product { Name = item.Name,

**您好,我需要确保product addphoto first方法的Id大于第二个picture addphoto方法(back pic)在转到下一行之前,我如何等待执行该行

我试图创建一个异步方法,但我得到了错误,因为该方法不能返回void和async。有什么帮助吗**

 var product = new Product
                   {

                        Name = item.Name,

                        Description = item.Description,
                       

                    };

                    product.AddPhoto(item.PictureUrl, pictureFileName);
                    product.AddPhoto($"back/{item.SKU}$back.png", pictureFileNameBack);
                    context.Products.Add(product);
                }



                await context.SaveChangesAsync();

            }
  public void AddPhoto(string pictureUrl, string fileName, bool isMain = false)
    {
        var photo = new Photo
        {
            FileName = fileName,
            PictureUrl = pictureUrl
        };

        if (_photos.Count == 0) photo.IsMain = true;

        _photos.Add(photo);
    }

您好,请查找下面更新的代码,如果方法不返回任何值,则应为任务,否则为该类型的任务

  var product = new Product {
    Name = item.Name,
      Description = item.Description
  };
  product.AddPhoto(item.PictureUrl, pictureFileName);
  product.AddPhoto($"back/{item.SKU}$back.png", pictureFileNameBack);
  context.Products.Add(product);
  
 await context.SaveChangesAsync();


public async Task AddPhoto(string pictureUrl, string fileName, bool isMain = false) {
  var photo = new Photo {
  FileName = fileName,
  PictureUrl = pictureUrl
 };
 if (_photos.Count == 0) photo.IsMain = true;
  _photos.Add(photo);
 }
而不是:

                    product.AddPhoto(item.PictureUrl, pictureFileName);
                    product.AddPhoto($"back/{item.SKU}$back.png", pictureFileNameBack);
                    context.Products.Add(product);
                }



                await context.SaveChangesAsync();

            }
尝试:


提供所有必要的代码。它看起来像是半代码。Addphoto方法在做什么?代码呈现的主要方法是什么?修复大括号和缩进。这应该是您要做的第一件事,而不是最后一件事。使用Task作为返回类型,就像同步方法中的void一样。我已经添加了该方法,但是如果我将其设置为异步,则表示我不能等待void,除非您在其间调用saveChanges。如果您选择了asynchronous,那么在该方法中会执行什么异步处理?
        product.AddPhoto(item.PictureUrl, pictureFileName);
               
                context.Products.Add(product);
            }



    await context.SaveChangesAsync();

    product.AddPhoto($"back/{item.SKU}$back.png", pictureFileNameBack);

    await context.SaveChangesAsync();

        }