在ASP.NET MVC中如何使用另一个模型作为属性

时间:2013-03-21 17:57:37

标签: c# asp.net-mvc entity-framework

所以我有两个模型,一个是公司,一个是省。

[Table("Company")]
public class Company {
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int ID { get; set; }
    public string Name { get; set; }
    public int ProvinceID { get; set; }
    public ProvinceModel Province{
        get {
            // ????
        }
    }
}
public class CompanyContext : MyXsiteContext {
    public DbSet<Company> Companies { get; set; }
}

这是我的省:

[Table("Province")]
public class ProvinceModel {
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int ID { get; set; }
    public string Name { get; set; }
}
public class ProvinceContext : MyXsiteContext {
    public DbSet<ProvinceModel> Provinces { get; set; }
}

如何让我的公司(仅保存省份ID)引用省份对象,以便我可以在我的视图中参考province.name?

1 个答案:

答案 0 :(得分:1)

您似乎希望这样做与导航属性的描述类似here

所以在链接中他们描述了课程 - &gt;部门,但对你来说是公司 - &gt;省。

另外,如果您要在视图中引用Province.Name,可能会遇到Select N+1问题,因此可能需要考虑(取决于您的具体用例,我不是100%跨越,只是强调它是潜在的“事物”)