无法传递对象的引用

时间:2018-06-13 05:37:40

标签: c# asp.net-mvc

我正在尝试创建一个网站,用户可以跟踪他们的宠物已经收到的疫苗。这也意味着每次疫苗接种都应该参考接种疫苗的宠物。

宠物

data-i18n

疫苗

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;}
}

2 个答案:

答案 0 :(得分:0)

也许你错过了一个课:疫苗本身。宠物应该有一份疫苗接种清单:接种的时间和内容。

宠物

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;}
}

答案 1 :(得分:0)

我会尝试逐一解决你的问题: &#34; 我正在尝试创建一个网站,用户可以跟踪他们的宠物接种的疫苗。&#34; - 意味着宠物类应该参考疫苗接种清单 - 而不是其他方式。如果您想跟踪所有接种疫苗的宠物,那么您需要在疫苗接种类中添加一份宠物清单

**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;}
}