FreeSql学习笔记——4.联表


前言

??上一章节是查询,记录了简单的查询,比较看好的是分块、Dto映射和分页,除了简单的单表查询,更多的时候要用到联表查询,毕竟设计数据库是按照范式设计,FreeSql的联表操作有导航属性、Join联表和Sql联表等。

Init

??使用到联表,目前的Student表不够,新增一个Class表,同时新增Student表的ClassId字段和Class字段,数据库新增几条记录

查看代码
[Table(Name = "Student")]
public class Student
{
    [Column(IsIdentity = true, IsPrimary = true)]
    public long Id { get; set; }

    [Column(IsNullable = false, DbType = "varchar(20)")]
    public string Name { get; set; }

    public int Age { get; set; }

    public StatusEnum Status { get; set; }

    public DateTime AddTime { get; set; }

    [Column(IsNullable =true,DbType = "varchar(100)")]
    public string Remark { get; set; }

    public long ClassId { get; set; }

    public Class Class { get; set; }
}

 public enum StatusEnum
 {
     Normal = 1,

     Freeze = 2
 }
 
[Table(Name = "Class")]
public class Class
{
    [Column(IsIdentity = true, IsPrimary = true)]
    public long Id { get; set; }

    [Column(IsNullable = false, DbType = "varchar(20)")]
    public string Name { get; set; }

    public List StudentList { get; set; }
}
http://freesql.net/guide/select-multi-table.html
ORM