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; } }