从角度

时间:2019-05-24 12:59:06

标签: c# angular asp.net-core entity-framework-core asp.net-core-2.0

我正在尝试向数据库添加组ID,但是我的数据模型的类型为“组”,如何在不发送整个对象的情况下实现添加组ID

这是我的数据模型课

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核心,我能够将此类作为表添加到数据库中,当然ef会使该组对象成为表中的GroupId

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

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会填充该组,但与此同时,该组也会添加到数据库中的组表中。

我尝试仅从角度发送GroupId,但收到一条错误消息,告知该工具正在使用Group对象而不是字符串。

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

1 个答案:

答案 0 :(得分:1)

您需要在数据模型类和组对象中拥有一个GroupId属性。 这样,您可以向客户端发送GroupId或从客户端发送Group,还可以访问数据模型类中的public int GroupId { get; set; } 导航属性:

{{1}}