我是否需要在ASP中定义每个外键的两个字段?NET Core EF
本文关键字:两个 字段 EF Core NET 是否 ASP 定义 | 更新日期: 2023-09-27 18:12:36
假设我需要两个名为Wagons
和WagonTypes
的表。显然,Wagons
表中的每一行都应该通过外键引用相应的WagonTypes
记录。
我这样做对吗?
public class Wagons
{
public Guid Id { get; set; }
[Required]
public WagonTypes Type { get; set; }
}
public class WagonTypes
{
public Guid Id { get; set; }
[Required]
public string Name { get; set; }
}
是的,它可以工作,但是我不明白为什么在文档中有一个额外的字段:
public int BlogId { get; set; }
public Blog Blog { get; set; }
有BlogId
字段的意义是什么?我也应该定义它吗?
您不必添加外键,但建议这样做,因为这会使您的工作更轻松。
假设您想编辑表wagon中的某一行(例如属性Name)。你需要获取对象,编辑Name,然后加载属性Type,然后调用SaveChanges。如果你没有加载Type, EF会认为你也想编辑Type。
如果你在你的马车类中有public int TypeId{ get; set; }
,你可以直接得到那个对象,直接编辑Name并调用SaveChanges,而不需要任何进一步的加载。