代码之家  ›  专栏  ›  技术社区  ›  ashraf

流利的一对一关系?

  •  2
  • ashraf  · 技术社区  · 15 年前

    我有一个问题,一对一的关系流畅的国民。

    下面是AdventureWorks2008数据库中的关系表。

    BusinessEntity (Table)
        BusinessEntityId Int (PK, Identity)
    
    Person (Table)
       BusinessEntityId int (PK, Reference with BusinessEntity table)
       FullName varchar(255)
    

    BusinessEntity表和Person表之间的关系是一对一的。

    如果在人员表中没有任何额外的字段(如“id”),如何流畅地映射?

    应该有两个类,一个用于人员,另一个用于业务实体,或者一个适当的模型来最好地描述上述关系。

    谢谢, 阿什拉夫。

    1 回复  |  直到 15 年前
        1
  •  4
  •   Deeksy    15 年前

    假设您的人员映射是相当标准的,那么您这样做的方式是说:

    Id(x => x.BusinessEntityId)
         .GeneratedBy.Foreign("BusinessEntity");
    

    在个人课上。

    这假定您的Person类具有一个名为BusinessEntity的属性,该属性属于BusinessEntity类型。

    您还需要将BusinessEntity映射到约束设置为true的人员(也就是说,人员的主键是对BusinessEntity的外键引用)。

    关键是generated by.foreign()表示您的标识是由指向另一个类的链接生成的。