WCF Rest サービスを使用しています。「_altProductVersionEntityRepository」というリポジトリから複数のレコードを削除しようとしています 以下は私のコード全体です
public Result UpdateProductObject(ProductObjectToSave prodSave)
{
IUnitOfWork unitOfWork = new UnitOfWork((IObjectContext)_objectSetFactory);
var versions = prodSave.VersionDetails;
var altVersions = prodSave.AlternateVersionDetails;
foreach (var versionDetail in versions)
{
var detail = versionDetail;
var dbVersionentity = _productVersionEntityRepository.FirstOrDefault(x => x.Id == detail.Id);
var altVersionEntity = _altProductVersionEntityRepository.FirstOrDefault(x => x.ProductVersionEntityId == detail.Id);
if (dbVersionentity == null)
{
dbVersionentity = new ProductVersionEntity();
_productVersionEntityRepository.Insert(dbVersionentity);
dbVersionentity.Id = GetNextTableId("vProductVersion");
dbVersionentity.CreatedOn = DateTime.Now;
}
dbVersionentity.Name = detail.Name;
dbVersionentity.Code = detail.Code;
if (detail.Id > 0){
_productVersionEntityRepository.Update(dbVersionentity);
if (altVersionEntity != null){
_altProductVersionEntityRepository.Delete(altVersionEntity);
}
}
}
try
{
unitOfWork.Commit();
}
catch (Exception e)
{
return new Result() { Status= e.Message };
}
return new Result() { Status= = "Record updated successfully" };
}
変数「altVersionEntity」で、「_altProductVersionEntityRepository」リポジトリから最初のレコードを見つけようとします。このリポジトリには複数のレコードがありますが、ここで FirstOrDefault を実行しているため、単一のレコードのみが削除されます。すべてのレコードを削除する方法は何ですか。レコードが見つかった場合にのみレコードを削除したいので、FirstOrDefault を使用しています。そうしないと、エラーがスローされます。複数のレコードを削除する方法は何ですか? 私はまだWCFに慣れていないので、助けてください。