2012-07-12 85 views
0

我知道这可能是一个很钝的问题,但这样做的实体代表一个查找表需要导航性能?适当的导航属性使用

例如

public class State 
{ 
    public int StateId  { get; set; } 
    public string StateName { get; set; } 
    public string StateAbbr { get; set; } 

    public virtual ICollection<AccreditingAgency> AccreditingAgencies { get; set; } 
} 


public class AccreditingAgency 
{ 
    public int AccreditingAgencyId { get; set; } 
    public string AgencyName { get; set; } 
    public string AgencyAddress { get; set; } 
    public string AgencyCity { get; set; } 
    public int StateId { get; set; } 
    public string AgencyZipCode { get; set; } 
    public string AgencyWebsite { get; set; } 

    public virtual State State { get; set; } 
} 

此外,在上面的例子中,应我甚至有AccreditingAgency国家导航属性?

事实上,当应该使用的导航属性?

感谢您的任何澄清。

+0

任何Json/XML串行器都会窒息的循环引用结构的典型示例。 – 2012-07-12 19:53:53

+0

那么,我假设没有呢?只是很好奇,因为Model First方法将这作为每个实体的默认设置。我找到的教程没有真正解释导航属性。 – Erik 2012-07-12 19:59:38

回答

0

导航属性纯粹是为有你的利益。

如果你希望能够找出一个状态的所有认证机构包括第一导航性能。

如果你想找出什么状态的认证机构是包括第二导航属性。

如果你不是真的想知道其中任一则prehaps两个实体shoudlnt在所有链接。

+0

StateID字段是否不足以引用状态?或者我必须让国家导航属性加载状态? – Erik 2012-07-12 20:34:03

+0

如果你有一个StateID,它可能意味着你正在一个方向导航,如果你应该添加一个导航属性的话,你可以从stateID加载状态。 – 2012-07-13 01:02:45