Asp.net mvc 模型中的IList模型没有获取Get操作

Asp.net mvc 模型中的IList模型没有获取Get操作,asp.net-mvc,Asp.net Mvc,我有如下三种型号 第一 第三 其中第一个模型中的preapproval\u id在保存到数据库时用作两个模型的外键。它正在成功保存详细信息 但是,当我调用显示提供商诊断\u DTL和提供商服务\u DTL的模型时,其值为空,如下所示:( 我的控制器 public ActionResult preapprove_detail(int preapprove_id) { provider_preapproval requestHeader = new provider_preapproval

我有如下三种型号

第一

第三

其中第一个模型中的
preapproval\u id
在保存到数据库时用作两个模型的外键。它正在成功保存详细信息

但是,当我调用显示
提供商诊断\u DTL
提供商服务\u DTL
的模型时,其值为空,如下所示:(

我的控制器

public ActionResult preapprove_detail(int preapprove_id)
{
    provider_preapproval requestHeader = new provider_preapproval();
    requestHeader = db.provider_preapproval.Find(preapprove_id);
    if (requestHeader != null)
    {
        return View(requestHeader);
    }
}

我做错了什么。请帮助。

列表为空,因为表示数据库记录的类型之间没有指定关系。为此,您需要指定导航属性,并使用
ForeignKeyAttribute
InversePropertyAttribute
的正确组合来装饰它们:

public partial class provider_preapproval
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long preapproval_id { get; set; }

    [InverseProperty("preapproval")]
    public virtual IList<provider_diagnosis_dtls> provider_diagnosis_dtls { get; set; }

    [InverseProperty("preapproval")]
    public virtual IList<provider_service_dtls> provider_service_dtls { get; set; }

    //...
}

public partial class provider_diagnosis_dtls
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long diagnosis_id { get; set; }

    public long preapproval_id { get; set; }

    [ForeignKey("preapproval_id"), InverseProperty("provider_diagnosis_dtls ")]
    public virtual provider_preapproval preapproval { get; set; }

    //...
}

public partial class provider_service_dtls
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long service_id { get; set; }

    public long preapproval_id { get; set; }

    [ForeignKey("preapproval_id"), InverseProperty("provider_service_dtls")]
    public virtual provider_preapproval preapproval { get; set; }

    //...
}
公共部分类提供程序\u预批准
{
[关键]
[数据库生成(DatabaseGeneratedOption.Identity)]
公共长预批准_id{get;set;}
[逆属性(“预批准”)]
公共虚拟IList提供程序\u诊断\u dtls{get;set;}
[逆属性(“预批准”)]
公共虚拟IList提供程序\u服务\u dtls{get;set;}
//...
}
公共部分类提供程序\u诊断\u dtls
{
[关键]
[数据库生成(DatabaseGeneratedOption.Identity)]
公共长诊断_id{get;set;}
公共长预批准_id{get;set;}
[ForeignKey(“预批准id”)、InverseProperty(“提供商诊断dtls”)]
公共虚拟提供程序_preapproval preapproval{get;set;}
//...
}
公共部分类提供程序\u服务\u dtls
{
[关键]
[数据库生成(DatabaseGeneratedOption.Identity)]
公共长期服务_id{get;set;}
公共长预批准_id{get;set;}
[ForeignKey(“预批准id”)、InverseProperty(“提供商服务DTL”)]
公共虚拟提供程序_preapproval preapproval{get;set;}
//...
}
请注意,我将导航属性标记为
virtual
,这样它们就可以延迟加载(在访问属性时从数据库加载,而不是在加载“owner”对象时加载-这有点像是一种“按需”加载策略)

public partial class provider_service_dtls
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long service_id { get; set; }

    public long preapproval_id { get; set; }

    ..................
}
public ActionResult preapprove_detail(int preapprove_id)
{
    provider_preapproval requestHeader = new provider_preapproval();
    requestHeader = db.provider_preapproval.Find(preapprove_id);
    if (requestHeader != null)
    {
        return View(requestHeader);
    }
}
public partial class provider_preapproval
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long preapproval_id { get; set; }

    [InverseProperty("preapproval")]
    public virtual IList<provider_diagnosis_dtls> provider_diagnosis_dtls { get; set; }

    [InverseProperty("preapproval")]
    public virtual IList<provider_service_dtls> provider_service_dtls { get; set; }

    //...
}

public partial class provider_diagnosis_dtls
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long diagnosis_id { get; set; }

    public long preapproval_id { get; set; }

    [ForeignKey("preapproval_id"), InverseProperty("provider_diagnosis_dtls ")]
    public virtual provider_preapproval preapproval { get; set; }

    //...
}

public partial class provider_service_dtls
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long service_id { get; set; }

    public long preapproval_id { get; set; }

    [ForeignKey("preapproval_id"), InverseProperty("provider_service_dtls")]
    public virtual provider_preapproval preapproval { get; set; }

    //...
}