从 angular 向数据库添加复杂对象时出现问题

problem adding complex objects to database from angular

我正在尝试将组 ID 添加到数据库,但我的数据模型具有类型"Group"如何在不发送整个对象的情况下添加组 ID

这是我的数据模型class

public class Tool : IObjectBase
    {
        public Group Group { get; set; } // My problem is here 

        public string Code { get; set; }
        public string Name { get; set; }
        public string Statut { get; set; }
        public string StorageLocation { get; set; }
        public string Description { get; set; }
        public DateTime? CalibrationDate { get; set; }
        public string InventoryNumber { get; set; }
        public string SerialNumber { get; set; }
        public string Contact { get; set; }
        public string Image { get; set; }
        public string StandardLoanPeriod { get; set; }

使用 Entity Framework 核心我能够将这个 class 作为 table 添加到数据库中,当然 ef 会将该组对象作为 [=33 中的 GroupId =]

所以现在在我的 angular 应用程序中,我正在尝试使用此方法向数据库添加一个新工具

AddNewTool(form: NgForm) {
    this.tool = {
      Id :  form.value.Id,
      Code: form.value.Code,
      Name: form.value.Name,
      Description: form.value.Description,
      Image: '',
      Group: this.Group // Probleme is here 
    };
    this.service.AddTool(this.tool).subscribe(
      res => {
        this.ToolToReload.emit(this.service.getTools());
        this.toolRowInformation = null;
        console.log(res);
        form.resetForm();
      } ,
      err => {
          console.log(err);
      });
  }

现在,每当我添加一个新工具时,它都会工作,并且 groupId 会填满该组,但同时,该组会添加到数据库中的组 table。

我尝试仅从 angular 发送 GroupId,但我收到一条错误消息,提示该工具需要一个组对象而不是字符串。

我的问题是是否可以在不发送整个组对象的情况下添加带有 groupId 的工具?

您的数据模型 class 中需要 GroupId 属性 以及组对象。 这样,您可以将 GroupId 发送到客户端或从客户端发送,还可以访问数据模型 class:

中的 Group 导航 属性
public int GroupId { get; set; }