实体框架代码第一”;联接表”;

本文关键字:框架 代码 实体 | 更新日期: 2023-09-27 18:29:34

我正在使用实体框架代码优先。

我有一个叫Notes 的实体

我还有其他实体,如业务伙伴机会工单

所有这些实体都可能有注释。

对进行建模的最佳方法是什么

1.)具有业务合作伙伴、商机和工单的可选外键。然后只需设置钞票与相关的可选键

2.)具有中间表,如BusinessPartnerNotes,具有两个字段BusinessPartnerId和NoteId

应该指出的是,一个注释永远不会同时与两个实体相关。

如有任何帮助或建议,我们将不胜感激。

实体框架代码第一”;联接表”;

考虑到您对基数的描述,并假设Notes for BusinessPartners具有与Notes for Opportunities相同的格式,我会选择最简单的方法(选项1)。在您的列表中)。

class Note
{
    public int Id { get; set; }
    public string Content { get; set; }
}
class BusinessPartner
{
    public int Id { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Note> Notes { get; set; }
}
class Opportunity
{
    public int Id { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Note> Notes { get; set; }
}

应生成以下表格:

Notes
  Id
  Content
  BusinessPartner_Id
  Opportunity_Id
BusinessPartners
  Id
  Name
Opportunities
  Id
  Name