проблема добавления сложных объектов в базу данных из угловых - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь добавить идентификатор группы в базу данных, но моя модель данных имеет тип «Группа», как я могу добиться добавления идентификатора группы без отправки всего объекта

Вот мой класс модели данных

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 из angular, но получаю сообщение об ошибке, указывающее, что инструмент ожидает объект группы, а не строку.

Мой вопросМожно ли добавить инструмент с groupId без отправки всего объекта группы?

1 Ответ

1 голос
/ 24 мая 2019

Вам необходимо иметь свойство GroupId в классе модели данных, а также объект группы.Таким образом, вы можете отправить GroupId клиенту и от него, а также получить доступ к свойству навигации Group в классе вашей модели данных:

public int GroupId { get; set; }
...