2013-03-21 80 views
0

所以我有兩個模型,一個是公司,一個是省。在ASP.NET MVC如何使用另一個模型作爲屬性

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

如何讓我的公司,該公司只保存ProvinceID,引用省對象,因此可以參考我在我看來,province.name?

+0

注意這可能是關於實體框架,而不是MVC,因爲你的「模型」是數據庫感知的實體。 – rsenna 2013-03-21 18:01:24

+0

好的,我會將Entity Framework添加到標記。 – Bill 2013-03-21 18:01:57

+0

請停止將「ASP.NET MVC」簡稱爲「MVC」。一個是框架,而另一個是獨立於語言的設計模式。這就像打電話給IE - 「互聯網」 – 2013-03-21 19:04:46

回答

1

看起來好像你想要做的那樣,類似於如何描述導航屬性here

所以在鏈接中他們描述的課程 - >部門,但對你來說它是公司 - >省。另外,順便說一句,如果您要在您的視圖中引用Province.Name,則可能會遇到Select N+1問題,因此可能需要考慮一些問題(具體取決於您的具體使用情況,我不是100%,只是突出它作爲一個潛在的「東西」)

+0

是的,你指出我的方向是正確的,我可以在我的公司視圖中加載一個省下拉列表。 – Bill 2013-03-21 18:48:57

相關問題