我有两个实体
public class ProductOption
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int OptionId { get; set; }
[Required]
[MaxLength(40)]
public String OptionName { get; set; }
}
public class ProductOptionValue
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ValueId { get; set; }
public int OptionId { get; set; }
[Required]
[MaxLength(32)]
public String ValueName { get; set; }
}
以上实体
Optionid-主键(ProductOption表)
Optionid --foreignkey(ProductOptionValue表)
我有2个模型课程
public class ProductOptionRequest
{
public string Name { set; get; }
public List<ProductValuesRequest> productValues { get; set; }
}
public class ProductValuesRequest
{
public int OptionId { get; set; }
public string ValueName { get; set;}
}
现在我想将数据更新到那些表中。我写了下面的代码
public async Task<ReturnBoolean> UpdateProductOption(ProductOptionRequest request)
{
ReturnBoolean returnBoolean = new ReturnBoolean();
ProductOption option = await productOptionRepository.GetByIdAsync(request.Id);
option.OptionName = request.Name;
await productOptionRepository.UpdateAsync(option, true);
foreach (ProductValuesRequest valueRequest in request.productValues)
{
ProductOptionValue res = new ProductOptionValue();
res.ProductOption = option;
res.ValueName = valueRequest.ValueName;
await productOptionValueRepository.UpdateAsync(res, true);
}
returnBoolean.BooleanValue = true;
return returnBoolean;
}
问题是valueid(其在ProductOptionValue表中的标识列)。因此,请告诉我解决方案。如何传递valueid并更新这些查询。