我是否需要在ASP.NET Core EF中为每个外键定义两个字段

时间:2016-10-11 10:30:06

标签: c# entity-framework ef-code-first asp.net-core

假设我需要有两个名为WagonTypesWagons的表。显然,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; }

是的,它有效但所有这一切,但我不知道为什么在https://api.stackexchange.com/2.2/users/6778969/timeline?site=stackoverflow中还有一个额外的字段:

BlogId

拥有{{1}}字段的重点是什么?我也应该定义它吗?

1 个答案:

答案 0 :(得分:0)

您不必添加外键,但建议您这样做,因为它会让您的生活更轻松。

想象一下,您想要编辑表Wagons中的某些行(例如属性Name)。您必须获取对象,编辑名称,然后加载属性类型,然后调用SaveChanges。如果你没有加载Type,EF会认为你也想编辑那个Type。

如果您的Wagons类中有div,您可以直接编辑该名称并直接编辑名称并调用SaveChanges而无需进一步加载。