gpt4 book ai didi

ef-code-first - 我最好使用类还是仅使用 Entity Framework 外键的 ID?

转载 作者:行者123 更新时间:2023-12-04 06:26:36 26 4
gpt4 key购买 nike

基本上,我有一个包含 ID 和用户名的“身份”表,我有另一个表,其中包含一个人“拥有”的条目,因此,我需要一个链接到身份表的 FK。

例如:Class "Identity" - int ID, string username.
我只是想知道以下哪个最好:

  • Class "test" - int ID, string data, Identity identity
  • Class "test" - int ID, string data, int identity_id - 带有定义为外键的注释。

  • 我个人使用第一个,并且看到 EF 基本上在幕后做了第二个,但我只是想知道有什么优点/缺点是什么,什么是最好的?

    最佳答案

    从面向对象的角度来看,第一个更好,因为您可以引用相关对象,这正是您在处理对象时所期望的。在数据库中,这是由定义两条记录之间关系的外键执行的。

    Entity Framework 既提供了正确的面向对象方法(第一个),也提供了在实体中包含外键属性的方法。原因是暴露 FK 属性会使某些操作更容易。第二种方法最常见的解决方案是:

    public class Test
    {
    public int Id { get; set; }
    public string Data { get; set; }
    [ForeignKey("Identity")]
    public int IdentityId { get; set; }
    public Identity Identity { get; set; }
    }

    您可以访问 FK 属性和实体。这些方法有名称:独立关联(第一个)和外键关联(第二个)。它们之间还有更多差异 - 我在 another answer 中描述了它们.

    关于ef-code-first - 我最好使用类还是仅使用 Entity Framework 外键的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5978057/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com