外键属性:[ForeignKey]
两个实体之间的关系中配置外键。
- 它覆盖默认约定。
- 根据默认约定,当属性的名称与相关实体的主键属性匹配时,EF 会将该属性设置为外键属性。
外键签名: [ForeignKey(name string)]
- Name:关联的导航属性的名称或关联的外键的名称
使用方法
- EF Core 默认约定的导航属性 如常用的:导航属性、外键属性(导航属性名+Id)
[Table("Blog")] public class Blog { [Key] public long Id { get; set; } /// <summary> /// 外键属性=导航属性名+Id /// </summary> public long? UserInfoId { get; set; } /// <summary> /// 导航属性 /// </summary> public UserInfo? UserInfo { get; set; } }
- [外键] 在依赖实体中的外键属性上
/// <summary> /// 外键属性 /// </summary> [ForeignKey("UserInfo")] public long? UserInfo_Id { get; set; } /// <summary> /// 导航属性 /// </summary> public UserInfo? UserInfo { get; set; }
- 依赖实体中导航属性上的 [外键]
/// <summary> /// 外键属性 /// </summary> public long? UserInfo_Id { get; set; } /// <summary> /// 导航属性 /// </summary> [ForeignKey("UserInfo_Id")] public UserInfo? UserInfo { get; set; }