Невозможно передать ссылку на объект - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь создать веб-сайт, на котором пользователь может отслеживать, какие прививки сделаны его домашними животными.Это также означает, что каждая прививка должна иметь ссылку на животное, получившее прививку.

Домашнее животное

public class Pet{
    public int AnimalId {get; set;}
    public string AnimalName{get; set;}
    public AnimalType Type {get; set;}
    public bool IsNeutered {get; set;}
}

Вакцина

public class Vaccine{
    public int VaccineId{get; set;}
    public string VaccineName{get; set;}
    public Pet Pet{get; set;}
}

Как видите, класс Vaccine содержит ссылку на Pet.И все работало нормально.

Но теперь я обнаружил, что не хочу, чтобы владельцы сами добавляли прививки.Вместо этого я хочу, чтобы врач (администратор) создал эти вакцины, а затем разрешил пользователям добавлять вакцину через выпадающий список.

Но поскольку вакцинация содержит ссылку на животное, врач не может создать вакцину, потому чтоу доктора нет упоминания о домашнем животном.И переменная Pet не может обнуляться.

Как правильно это сделать?Должен ли я добавить список вакцин для питомца, например, так:

public virtual List<Vaccine> VaccineList {get; set;}

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Я постараюсь разобрать вашу проблему один за другим: « Я пытаюсь создать веб-сайт, на котором пользователь может отслеживать, какие прививки получили его домашние животные. » - означает, что класс домашних животных долженесть ссылка на список вакцинации, а не наоборот.если вы хотите отслеживать всех домашних животных, которые прошли определенную вакцинацию, то вам нужно добавить ссылку на список домашних животных в классе вакцинации

**List of Vaccination for a Pet**

public class Pet {
    public int AnimalId {get; set;}
    public string AnimalName{get; set;}
    public AnimalType Type {get; set;}
    public bool IsNeutered {get; set;}        
    public List<Vaccination> VaccineList {get; set;}
}

Список домашних животных, прошедших вакцинацию

public class Vaccine {
    public int VaccineId{get; set;}
    public string VaccineName{get; set;}
    public List<Pet> Pets{get; set;}
}
0 голосов
/ 13 июня 2018

Может быть, вам не хватает класса: самой вакцины.Домашние животные должны иметь список прививок: когда и что они получили.

Домашнее животное

public class Pet{
    public int AnimalId {get; set;}
    public string AnimalName{get; set;}
    public AnimalType Type {get; set;}
    public bool IsNeutered {get; set;}
    public List<Vaccination> Vaccinations {get; set;}
}

Вакцина

public class Vaccine{
    public int VaccinationId{get; set;}
    public string VaccinationName{get; set;}
}

Вакцинация

public class Vaccination{
    public Vaccine Vaccine{get; set;}
    public DateTime VaccinedAt{get; set;}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...