Entity Framework 4.1 中,生成外键的方式有以下几种:
1-指定导航属性,会自动生成外键,命名规则为:“表名_主键名”
2-默认情况下与导航属性的主键名称相同的字段会自动被标记为外键,
3-通过[ForeignKey]标记指定实体类的属性为外键,
4-方式2的升级版,与导航属性的主键名称相同的字段会自动被标记为外键,然后指定字段对应的数据库中的列名
方式3、4可指定生成的数据库中的列名。
public class User
{
public int UserID { get; set; }
public string Name { get; set; }
public string Email { get; set; }
}
public class UserExtInfo
{
public int UserExtInfoID { get; set; }
//1-生成外键:User_UserID
public virtual User User { get; set; }
//2-生成外键:UserID
public int UserID { get; set; }
public virtual User User { get; set; }
//3-生成外键:F_UserID
public int F_UserID { get; set; }
[ForeignKey("F_UserID")]
public virtual User User { get; set; }
//4-生成外键:F_UserID
[Column("F_UserID")]
public int UserID { get; set; }
public virtual User User { get; set; }
}