获取简单 属性 和导航 属性 - 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;}
}
你是这个意思吗?
我有一个具有以下属性的实体:
简单属性:
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;}
}
你是这个意思吗?