EF4:定义多个外键
问题描述:
所以我有一个表的人是这样EF4:定义多个外键
Id Name
1 John
2 Mike
3 Sophie
而且我有一个表调用
Id IdReceptor IdRequired
1 1 2
2 1 1
3 2 3
4 3 1
基本上有人接听了一个电话,那人是受体,一种在手机上,需要与其他人交谈,也可以是谁回答是同一人,或者其他,所以我们有这个表的设计,IdReceptor和IdRequired都是外键人
我如何模拟这种使用EF4代码优先?
答
例如像这样:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Call
{
public int Id { get; set; }
[ForeignKey("Receptor")]
public int IdReceptor { get; set; }
[ForeignKey("Required")]
public int IdRequired { get; set; }
public Person Receptor { get; set; }
public Person Required { get; set; }
}
,如果你愿意,你可以介绍Person
收藏与注释或流畅API添加额外的映射,也可以使Person
导航属性virtual
如果你想偷懒加载。但上面的代码是一个简单的解决方案。 EF将按照惯例检测两个一对多关系。