获取简单 属性 和导航 属性 - Entity Framework 之间的映射 5

Get mapping between simple property and navigation property - Entity Framework 5

我有一个具有以下属性的实体:

简单属性:

public int ParentLocationID {get; set;}
public int ChildLocationID {get; set;}

导航属性:

public Location Location1 {get; set;}
public Location Location2 {get; set;}

这里,两个简单属性都指的是与 Location Table 的外键关系。当我打开模型的 Designer.cs 时,此信息可用。

但是我如何在代码中知道 ParentLocationID 正在使用哪个导航 属性 Location1 或 Location2?

But how can I know in the code that ParentLocationID is using which navigation property Location1 or Location2?

您可以在 EDXM 模型浏览器中重命名导航属性。只需右键单击导航 属性 并将其重命名,而不是 Location1,您可以将其更改为 ParentLocation

如果您多次从数据库更新模型,这将继续存在。但是,如果您从 EDMX 中完全删除 table 然后重新创建它,您将需要再次重命名它(但很少这样做)。

使用外键注解?

using System.ComponentModel.DataAnnotations.Schema;

public class MyModel
{
    public int ParentLocationID {get; set;}
    public int ChildLocationID {get; set;}

    [ForeignKey("ParentLocationID")]
    public Location Location1 {get; set;}
    [ForeignKey("ChildLocationID")]
    public Location Location2 {get; set;}
} 

你是这个意思吗?