为了账号安全,请及时绑定邮箱和手机立即绑定

SQL 表到类

SQL 表到类

C#
哔哔one 2021-11-21 10:15:31
我有一个建模问题需要帮助理解。我有一张名为 Employee 的表和一张名为 Office 的表。类之间是一对多的关系(1 个员工有一个办公室,一个办公室有多个员工)。目标是从这些表创建类,我找到了两种方法:1:public class Employee{    private string Name   { get; set; }    private Office Office { get; set; }}public class Office{    private string OfficeName { get; set; }}2:public class Employee{    private string Name {get; set;}}public class Office{    private string OfficeName       { get; set; }    private List<Employee>Employees { get; set; }}哪种方式是建模的正确方法?
查看完整描述

1 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

我发现第二种方法更容易使用(更自然)。原因是,当您以这种方式对数据建模时:


public Class Employee

{

    string Name {get; set;}

}


public Class Office

{

    string OfficeName {get; set}

    List<Employee>Employees {get; set}

}

您可以通过以下方式创建这些表(或使用实体框架为您创建表):


// Office table             // Employee table

-----------------           ----------------------------------

| Id(PK) | Name | --------> | Id(PK) | OfficeId(FK) | Name |  

-----------------           ----------------------------------


// PK: Primary Key

// FK: Foreign Key

该one-to-many关系是通过代表FK的employee表和employee有一个FK他/她所属的办公室。然后通过使用 simplejoins您可以从表格中获取您需要的所有信息。例如


得到所有employees的office


    SQL: SELECT Offices.OfficeId, Offices.Name, Employees.Name 

         FROM Offices

         JOIN Employees ON Offices.Id = Employees.OfficeId

         WHERE Offices.Name = 'some_name'

    // Or you can use LINQ had you had used Entity Framework

如果您使用第一种方法,这会更复杂一些。


查看完整回答
反对 回复 2021-11-21
  • 1 回答
  • 0 关注
  • 187 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信